Created
April 16, 2015 01:27
-
-
Save SixArm/9b5641accf56ff936e65 to your computer and use it in GitHub Desktop.
Xcode Swift Home PageControl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
class HomeViewController: UIViewController { | |
@IBOutlet weak var pageControl: UIPageControl! | |
@IBOutlet weak var pageImageView: UIImageView! | |
@IBOutlet weak var pageCaptionLabel: UILabel! | |
var pageIndex = 0 | |
let pageIndexMin = 0 | |
let pageIndexMax = 2 | |
let pages: [Page] = [ | |
Page(imageName: "welcome.png", caption: "Welcome", ), | |
Page(imageName: "about.png", caption: "About"), | |
Page(imageName: "contact.png", caption: "Contact"), | |
] | |
class Page { | |
var index: Int! | |
var image: UIImage! | |
var caption: String! | |
internal init(imageName: String, caption: String) { | |
self.image = UIImage(named: imageName) | |
self.caption = caption | |
} | |
} | |
// MARK: - Call these methods to change which page the user sees | |
func pagePrev() { | |
if (pageIndex > pageIndexMin) { | |
pageUpdate(--pageIndex) | |
} | |
} | |
func pageNext() { | |
if (pageIndex < pageIndexMax) { | |
pageUpdate(++pageIndex) | |
} | |
} | |
func pageUpdate(index: Int) { | |
let page: IntroPage = pages[index] | |
pageControl.currentPage = index | |
pageImageView.image = page.image | |
pageCaptionLabel.text = page.caption | |
} | |
// MARK: - Call these methods when the user gestures on the XIB UIImageView object. | |
@IBAction func handleTap(sender: UITapGestureRecognizer) { | |
pageNext() | |
} | |
@IBAction func handleSwipeLeft(sender: UISwipeGestureRecognizer) { | |
pageNext() | |
} | |
@IBAction func handleSwipeRight(sender: UISwipeGestureRecognizer) { | |
pagePrev() | |
} | |
// MARK: - Call this method when the user swipes the XIB page control object. | |
@IBAction func pageChange(sender: UIPageControl) { | |
pageUpdate(sender.currentPage) | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
can u give introPage file?