---
title: UIPageViewControllerDelegate
framework: uikit
role: symbol
role_heading: Protocol
path: uikit/uipageviewcontrollerdelegate
---

# 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.

## Declaration

```swift
@MainActor protocol UIPageViewControllerDelegate : NSObjectProtocol
```

## Topics

### Responding to Page View Controller Events

- [pageViewController(_:willTransitionTo:)](uikit/uipageviewcontrollerdelegate/pageviewcontroller(_:willtransitionto:).md)
- [pageViewController(_:didFinishAnimating:previousViewControllers:transitionCompleted:)](uikit/uipageviewcontrollerdelegate/pageviewcontroller(_:didfinishanimating:previousviewcontrollers:transitioncompleted:).md)
- [pageViewController(_:spineLocationFor:)](uikit/uipageviewcontrollerdelegate/pageviewcontroller(_:spinelocationfor:).md)

### Overriding View Rotation Settings

- [pageViewControllerSupportedInterfaceOrientations(_:)](uikit/uipageviewcontrollerdelegate/pageviewcontrollersupportedinterfaceorientations(_:).md)
- [pageViewControllerPreferredInterfaceOrientationForPresentation(_:)](uikit/uipageviewcontrollerdelegate/pageviewcontrollerpreferredinterfaceorientationforpresentation(_:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Customizing the Page View Behavior

- [delegate](uikit/uipageviewcontroller/delegate.md)
