Class

UIPageViewController

A container view controller that manages navigation between pages of content, where each page is managed by a child view controller.

Declaration

@interface UIPageViewController : UIViewController

Overview

Page view controller–navigation can be controlled programmatically by your app or directly by the user using gestures. When navigating from page to page, the page view controller uses the transition that you specify to animate the change.

When defining a page view controller interface, you can provide the content view controllers one at a time (or two at a time, depending upon the spine position and double-sided state) or as-needed using a data source. When providing content view controllers one at a time, you use the setViewControllers:direction:animated:completion: method to set the current content view controllers. To support gesture-based navigation, you must provide your view controllers using a data source object.

The data source for a page view controller is responsible for providing the content view controllers on demand and must conform to the UIPageViewControllerDataSource protocol. The delegate object—an object that conforms to the UIPageViewControllerDelegate protocol—provides some appearance-related information and receives notifications about gesture-initiated transitions.

This class is generally used as-is, but can also be subclassed.

Topics

Initializing a Page View Controller

- initWithTransitionStyle:navigationOrientation:options:

Initializes a newly created page view controller.

UIPageViewControllerOptionsKey

Keys for creating the page view controller.

Providing the Page Content

dataSource

The object that provides view controllers.

UIPageViewControllerDataSource

The UIPageViewControllerDataSource protocol is adopted by an object that provides view controllers to the page view controller on an as-needed basis, in response to navigation gestures.

Customizing the Page View Behavior

delegate

The delegate object.

UIPageViewControllerDelegate

The delegate of a page view controller must adopt the UIPageViewControllerDelegate protocol. These methods allow the delegate to receive a notification when the device orientation changes and when the user navigates to a new page. For page-curl style transitions, the delegate can provide a different spine location in response to a change in the interface orientation.

Providing Content

- setViewControllers:direction:animated:completion:

Sets the view controllers to be displayed.

UIPageViewControllerNavigationDirection

Directions for page-turn transitions.

viewControllers

The view controllers displayed by the page view controller.

gestureRecognizers

An array of UIGestureRecognizer objects that are configured to handle user interaction.

Display Options

navigationOrientation

The direction along which navigation occurs.

UIPageViewControllerNavigationOrientation

Orientations for page-turn transitions.

spineLocation

The location of the spine.

UIPageViewControllerSpineLocation

Locations for the spine.

transitionStyle

The style used to transition between view controllers.

UIPageViewControllerTransitionStyle

Styles for the page-turn transition.

doubleSided

A Boolean value that indicates whether content appears on the back of pages.

Relationships

Inherits From

See Also

Container View Controllers

Creating a Custom Container View Controller

Create a composite interface by combining content from one or more view controllers with other custom views.

UISplitViewController

A container view controller that implements a master-detail interface.

UINavigationController

A container view controller that defines a stack-based scheme for navigating hierarchical content.

UINavigationBar

Navigational controls displayed in a bar along the top of the screen, usually in conjunction with a navigation controller.

UINavigationItem

The items to be displayed by a navigation bar when the associated view controller is visible.

UITabBarController

A container view controller that manages a radio-style selection interface, where the selection determines which child view controller to display.

UITabBar

A control that displays one or more buttons in a tab bar for selecting between different subtasks, views, or modes in an app.

UITabBarItem

An item in a tab bar.