---
title: AVPlayerViewControllerDelegate
framework: avkit
role: symbol
role_heading: Protocol
path: avkit/avplayerviewcontrollerdelegate
---

# AVPlayerViewControllerDelegate

A protocol that defines the methods to implement to respond to player view controller events.

## Declaration

```swift
protocol AVPlayerViewControllerDelegate : NSObjectProtocol
```

## Mentioned in

Adopting Picture in Picture in a Standard Player Presenting Content Proposals in tvOS Working with Interstitial Content

## Topics

### Dismissing the Player View Controller

- [playerViewControllerShouldDismiss(_:)](avkit/avplayerviewcontrollerdelegate/playerviewcontrollershoulddismiss(_:).md)
- [playerViewControllerWillBeginDismissalTransition(_:)](avkit/avplayerviewcontrollerdelegate/playerviewcontrollerwillbegindismissaltransition(_:).md)
- [playerViewControllerDidEndDismissalTransition(_:)](avkit/avplayerviewcontrollerdelegate/playerviewcontrollerdidenddismissaltransition(_:).md)

### Responding to Picture in Picture Life Cycle Events

- [playerViewControllerShouldAutomaticallyDismissAtPictureInPictureStart(_:)](avkit/avplayerviewcontrollerdelegate/playerviewcontrollershouldautomaticallydismissatpictureinpicturestart(_:).md)
- [playerViewControllerWillStartPictureInPicture(_:)](avkit/avplayerviewcontrollerdelegate/playerviewcontrollerwillstartpictureinpicture(_:).md)
- [playerViewControllerDidStartPictureInPicture(_:)](avkit/avplayerviewcontrollerdelegate/playerviewcontrollerdidstartpictureinpicture(_:).md)
- [playerViewController(_:failedToStartPictureInPictureWithError:)](avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:failedtostartpictureinpicturewitherror:).md)
- [playerViewControllerWillStopPictureInPicture(_:)](avkit/avplayerviewcontrollerdelegate/playerviewcontrollerwillstoppictureinpicture(_:).md)
- [playerViewControllerDidStopPictureInPicture(_:)](avkit/avplayerviewcontrollerdelegate/playerviewcontrollerdidstoppictureinpicture(_:).md)
- [playerViewController(_:restoreUserInterfaceForPictureInPictureStopWithCompletionHandler:)](avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:restoreuserinterfaceforpictureinpicturestopwithcompletionhandler:).md)

### Responding to Navigation Events

- [playerViewController(_:timeToSeekAfterUserNavigatedFrom:to:)](avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:timetoseekafterusernavigatedfrom:to:).md)
- [playerViewController(_:willResumePlaybackAfterUserNavigatedFrom:to:)](avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:willresumeplaybackafterusernavigatedfrom:to:).md)
- [skipToPreviousItem(for:)](avkit/avplayerviewcontrollerdelegate/skiptopreviousitem(for:).md)
- [skipToNextItem(for:)](avkit/avplayerviewcontrollerdelegate/skiptonextitem(for:).md)

### Responding to Interstitial Content Playback Events

- [playerViewController(_:willPresent:)](avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:willpresent:).md)
- [playerViewController(_:didPresent:)](avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:didpresent:).md)

### Responding to Content Proposals

- [playerViewController(_:shouldPresent:)](avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:shouldpresent:).md)
- [playerViewController(_:didAccept:)](avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:didaccept:).md)
- [playerViewController(_:didReject:)](avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:didreject:).md)

### Responding to Media Selection

- [playerViewController(_:didSelect:in:)](avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:didselect:in:).md)

### Responding to Transport Bar Changes

- [playerViewController(_:willTransitionToVisibilityOfTransportBar:with:)](avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:willtransitiontovisibilityoftransportbar:with:).md)
- [AVPlayerViewControllerAnimationCoordinator](avkit/avplayerviewcontrolleranimationcoordinator.md)

### Responding to Channel Changes

- [playerViewController(_:skipToNextChannel:)](avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:skiptonextchannel:).md)
- [playerViewController(_:skipToPreviousChannel:)](avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:skiptopreviouschannel:).md)
- [nextChannelInterstitialViewController(for:)](avkit/avplayerviewcontrollerdelegate/nextchannelinterstitialviewcontroller(for:).md)
- [previousChannelInterstitialViewController(for:)](avkit/avplayerviewcontrollerdelegate/previouschannelinterstitialviewcontroller(for:).md)

### Responding to Full-Screen Presentations

- [playerViewController(_:willBeginFullScreenPresentationWithAnimationCoordinator:)](avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:willbeginfullscreenpresentationwithanimationcoordinator:).md)
- [playerViewController(_:willEndFullScreenPresentationWithAnimationCoordinator:)](avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:willendfullscreenpresentationwithanimationcoordinator:).md)
- [playerViewController(_:restoreUserInterfaceForFullScreenExitWithCompletionHandler:)](avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:restoreuserinterfaceforfullscreenexitwithcompletionhandler:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### iOS playback and capture

- [Playing video content in a standard user interface](avkit/playing-video-content-in-a-standard-user-interface.md)
- [AVPlayerViewController](avkit/avplayerviewcontroller.md)
- [AVCaptureEventInteraction](avkit/avcaptureeventinteraction.md)
- [AVCaptureEvent](avkit/avcaptureevent.md)
- [AVCaptureEventSound](avkit/avcaptureeventsound.md)
- [AVInputPickerInteraction](avkit/avinputpickerinteraction.md)
- [Third-party casting support](avkit/third-party-casting-support.md)
