A horizontal scroll UIPageViewController with tabs.
Supports iOS 8 and Swift
pod 'BabuPagerViewController'
class ViewController: BabuPagerViewController, BabuPagerViewControllerDataSource, BabuPagerViewControllerDelegate {
var titles = ["red", "blue", "green", "yellow", "cyan"]
override func viewDidLoad() {
super.viewDidLoad()
self.dataSource = self
self.delegate = self
}
...
// MARK: - BabuPagerViewControllerDataSource
func numberOfPagerItem() -> Int {
return self.titles.count
}
func titleForTab(index: Int) -> String {
return self.titles[index]
}
func pagerItemViewController(index: Int) -> UIViewController {
var viewController = self.storyboard!.instantiateViewControllerWithIdentifier("pageItem") as! UIViewController
viewController.title = self.titles[index]
return viewController
}
// MARK: - BabuPagerViewControllerDelegate
func pagerViewController(pagerViewController: BabuPagerViewController, willTransitionToViewController: AnyObject) {
...
}
func pagerViewController(pagerViewController: BabuPagerViewController, didFinishAnimating finished: Bool) {
// You can get the current index.
let pageIndex = pagerViewController.currentIndex()
...
}
}- tabIsBottom : if true, the page items are between header and tab
- tabActivatedTextColor : text color of activated tab view
- tabInactivatedTextColor : text color of inactivated tab view
- tabFontSize : font size of tab view
- tabUseActivatedBoldText : use bold text if activated tab view
return index of current page
Asks the data source to return the number of items in page view
func numberOfPagerItem() -> Int {
return self.titles.count
}Asks the pager item
func pagerItemViewController(index: Int) -> UIViewController {
var viewController = self.storyboard!.instantiateViewControllerWithIdentifier("pageItem") as! UIViewController
viewController.title = self.titles[index]
return viewController
}Asks the data source for the title of the tab
func titleForTab(index: Int) -> String {
return self.titles[index]
}1. func pagerViewController(pagerViewController: BabuPagerViewController, willTransitionToViewController: AnyObject)
Calls before a gesture-driven transition begins.
func pagerViewController(pagerViewController: BabuPagerViewController, willTransitionToViewController: AnyObject) {
println("called willTransitionToViewController")
}2. func pagerViewController(pagerViewController: BabuPagerViewController, didFinishAnimating finished: Bool)
Calls after a gesture-driven transition completes.
func pagerViewController(pagerViewController: BabuPagerViewController, didFinishAnimating finished: Bool) {
println("called didFinishAnimating")
let pageIndex = pagerViewController.currentIndex()
...
}




