Skip to content

emalyak/EMPageViewController

Repository files navigation

EMPageViewController

EMPageViewController Demo

A better page view controller for iOS

EMPageViewController is a full replacement for UIPageViewController with the features and predictability you’ve always wanted from a page view controller.

Delegate messages every step of the way

EMPageViewController gives your delegate messages for every step of the page transition process: before, during, and after. This makes it very easy for you to incorporate animations or any other events that are highly dependent on the progress of transitioning a page.

Convenient navigation methods

In addition to the ability scroll to any view controller, you can also easily scroll to the next or previous page without gestures if your app has navigation buttons.

Written in Swift (with support for Objective-C)

EMPageViewController is not a subclass of UIPageViewController. Instead, it's a subclass of UIViewController with a UIScrollView, written in Swift, and it has common sense delegate and data source methods that will make the development of your page-based iOS app a breeze.

Compatibility

  • Xcode 10.0+
  • Swift 4.2+
  • Objective-C compatible
  • iOS 8+
  • iPhone, iPad, and iPod Touch

Installation

There are two ways to install. Please note that the CocoaPods method requires iOS 8+, whereas the file include method requires iOS 7+

CocoaPods

To install using CocoaPods, specify the following in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

pod 'EMPageViewController'

File include

Simply include the file EMPageViewController.swift into your project.

Example usage / Demo

Learn how to use EMPageViewController in your project by cloning this repository and opening the Xcode project file in:

The code for initializing EMPageViewController and implementing its delegate and data source is located in:

Documentation

Full documentation is available on CocoaDocs

Classes

Enums

Protocols

Contact

Feedback? Suggestions? Just want to say hello? Contact me anytime on Twitter @emalyak. You can also visit my website erikmalyak.com for other ways to get in touch.

License

Copyright (c) 2015-2019 Erik Malyak

MIT License