<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "tvOS: -",
    "visionOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIPageViewControllerDelegate",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(pl)UIPageViewControllerDelegate"
  },
  "title" : "UIPageViewControllerDelegate"
}
-->

# UIPageViewControllerDelegate

The delegate of a page view controller must adopt the [`UIPageViewControllerDelegate`](/documentation/UIKit/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.

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

## Topics

### Responding to Page View Controller Events

[`-  pageViewController:willTransitionToViewControllers:`](/documentation/UIKit/UIPageViewControllerDelegate/pageViewController(_:willTransitionTo:))

Called before a gesture-driven transition begins.

[`-  pageViewController:didFinishAnimating:previousViewControllers:transitionCompleted:`](/documentation/UIKit/UIPageViewControllerDelegate/pageViewController(_:didFinishAnimating:previousViewControllers:transitionCompleted:))

Called after a gesture-driven transition completes.

[`-  pageViewController:spineLocationForInterfaceOrientation:`](/documentation/UIKit/UIPageViewControllerDelegate/pageViewController(_:spineLocationFor:))

Returns the spine location for the given orientation.

### Overriding View Rotation Settings

[`-  pageViewControllerSupportedInterfaceOrientations:`](/documentation/UIKit/UIPageViewControllerDelegate/pageViewControllerSupportedInterfaceOrientations(_:))

Returns the complete set of supported interface orientations for the page view controller, as determined by the delegate.

[`-  pageViewControllerPreferredInterfaceOrientationForPresentation:`](/documentation/UIKit/UIPageViewControllerDelegate/pageViewControllerPreferredInterfaceOrientationForPresentation(_:))

Returns the preferred orientation for presentation of the page view controller, as determined by the delegate.

## Relationships

### Inherits From

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)