EMPageViewController
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:
- Swift: Examples/Greetings.
- Objective-C: Examples/Greetings-ObjC.
The code for initializing EMPageViewController and implementing its delegate and data source is located in:
- Swift: RootViewController.swift
- Objective-C: RootViewController.m
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