Skip to content

bati668/BTPagerViewController

Repository files navigation

BTPagerViewController

BTPagerViewController is a PagerTabStrip ViewController. It contains an endlessly scrollable UIScrollView.

This viewController inspired NKJPagerViewController. The biggest of difference is written in pure swift.

Requirements

BTPagerViewController higher requires Xcode 7, targeting either iOS 8.0 and above

Installation

CocoaPods

pod 'BTPagerViewController', :git => 'https://github.com/bati668/BTPagerViewController.git'

Usage

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
}

BTPagerViewDataSource

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]
}

BTPagerViewDelegate

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 
}

Author

bati

License

BTPagerViewController is available under the MIT license. See the LICENSE file for more info.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published