---
title: NSPageControllerDelegate
framework: appkit
role: symbol
role_heading: Protocol
path: appkit/nspagecontrollerdelegate
---

# NSPageControllerDelegate

The NSPageControllerDelegate protocol allows you to customize the behavior of instances of the NSPageController class.

## Declaration

```swift
protocol NSPageControllerDelegate : NSObjectProtocol
```

## Overview

Overview See NSPageController for more information. note: If your page controller is going to completely manage the page snapshots, then you should not implement the pageController(_:viewControllerForIdentifier:) or pageController(_:prepare:with:) methods. However, if you manually set the NSPageController instance’s arrangedObjects property, you are required to implement the following those methods so that navigation can properly occur.

## Topics

### Transition Notification

- [pageControllerWillStartLiveTransition(_:)](appkit/nspagecontrollerdelegate/pagecontrollerwillstartlivetransition(_:).md)
- [pageControllerDidEndLiveTransition(_:)](appkit/nspagecontrollerdelegate/pagecontrollerdidendlivetransition(_:).md)
- [pageController(_:didTransitionTo:)](appkit/nspagecontrollerdelegate/pagecontroller(_:didtransitionto:).md)

### Managing View Controllers

- [pageController(_:identifierFor:)](appkit/nspagecontrollerdelegate/pagecontroller(_:identifierfor:).md)
- [pageController(_:viewControllerForIdentifier:)](appkit/nspagecontrollerdelegate/pagecontroller(_:viewcontrollerforidentifier:).md)
- [pageController(_:prepare:with:)](appkit/nspagecontrollerdelegate/pagecontroller(_:prepare:with:).md)
- [pageController(_:frameFor:)](appkit/nspagecontrollerdelegate/pagecontroller(_:framefor:).md)
- [NSPageController.ObjectIdentifier](appkit/nspagecontroller/objectidentifier.md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Customizing the Paged Interface Behavior

- [delegate](appkit/nspagecontroller/delegate.md)
