PageControl

A simple way to navigate between pages by using gestures

69
13
Swift

PageControl

Version
License
Platform

A simple way to navigate between pages by using gestures

Demo image

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

  • iOS 8.3 or higher

Installation

PageControl is available through CocoaPods. To install
it, simply add the following line to your Podfile:

pod 'PageControl'

Usage

In your storyboard, add a container view of the type PageControlViewController

example1 image

self.pageController.delegate = self
self.pageController.dataSource = self

extension ViewController: PageControlDelegate {
  func pageControl(_ pageController: PageControlViewController, atSelected viewController: UIViewController) {
    (viewController as! CardItemViewController).animateImage()
  }

  func pageControl(_ pageController: PageControlViewController, atUnselected viewController: UIViewController) {
  }   
}

extension ViewController: PageControlDataSource {
  func numberOfCells(in pageController: PageControlViewController) -> Int {
    return self.dataController.count
  }

  func pageControl(_ pageController: PageControlViewController, cellAtRow row: Int) -> UIViewController! {
    return self.dataController[row]
  }

  func pageControl(_ pageController: PageControlViewController, sizeAtRow row: Int) -> CGSize {
    let width = pageController.view.bounds.size.width - 20
    if row == pageController.currentPosition {
      return CGSize(width: width, height: 500)
    }
    return CGSize(width: width, height: 500)
  }

}

If you need to change the page manually, use:


self.pageController.currentPosition = index

self.pageController.nextPage()

self.pageController.previousPage()

Author

Rodrigo Martins, [email protected]

License

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