BTPagerViewController is a PagerTabStrip ViewController. It contains an endlessly scrollable UIScrollView.
This viewController inspired NKJPagerViewController. The biggest of difference is written in pure swift.
BTPagerViewController higher requires Xcode 7, targeting either iOS 8.0 and above
pod 'BTPagerViewController', :git => 'https://github.com/bati668/BTPagerViewController.git'
Implement as subclass of BTPagerViewController and imprement dataSource and delegate methods in the subclass.
required init?(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder)
self.delegate = self
self.dataSource = self
}
Decide number of tabs.
func numberOfTabView() -> Int
{
return 10
}
Decide width for each tab.
func widthOfTabViewWithIndex(index: Int) -> CGFloat
{
return 160
}
Setting a view design for each tab.
func viewForTabAtIndex(viewPager: BTPagerViewController, tabIndex: Int) -> UIView {
let label = UILabel(frame: CGRect(x: 0, y: 0, width: 160, height: 44))
label.backgroundColor = UIColor.grayColor()
label.font = UIFont.systemFontOfSize(12)
label.text = "Tab: \(tabIndex)"
label.textAlignment = .Center
label.textColor = UIColor.blackColor()
return label
}
Setting a view controller for each tab.
func contentViewControllerForTabAtIndex(viewPager: BTPagerViewController, index: Int) -> UIViewController
{
var viewControllerArray: Array<UIViewController> = []
for _ in 0 ..< 10 {
let controller = UIViewController()
viewControllerArray.append(controller)
}
return viewControllerArray[index]
}
This method is option.
func viewPagerdidSwitchAtIndex(viewPager: BTPagerViewController, index: Int, tabs: Array<AnyObject>)
{
// do something did Switch tab
}
func viewPagerWillTransition(viewPager: BTPagerViewController)
{
// do something when willTransition
}
func viewPagerWillSwitchAtIndex(viewPager: BTPagerViewController, index: Int, tabs: Array<AnyObject>)
{
// do something when will switch tab index
}
func viewPagerDidTapMenuTabAtIndex(viewPager: BTPagerViewController, index: Int)
{
// do something when tapped tab
}
BTPagerViewController is available under the MIT license. See the LICENSE file for more info.