---
title: UIAdaptivePresentationControllerDelegate
framework: uikit
role: symbol
role_heading: Protocol
path: uikit/uiadaptivepresentationcontrollerdelegate
---

# UIAdaptivePresentationControllerDelegate

A set of methods that, in conjunction with a presentation controller, determine how to respond to trait changes in your app.

## Declaration

```swift
@MainActor protocol UIAdaptivePresentationControllerDelegate : NSObjectProtocol
```

## Overview

Overview After implementing an object that conforms to this protocol, assign that object to the delegate property of an appropriate UIPresentationController object. Your delegate can suggest a new presentation style or an entirely new view controller for displaying content. For more information about using the delegate to respond to size class changes, see UIPresentationController.

## Topics

### Adapting the presentation style

- [adaptivePresentationStyle(for:traitCollection:)](uikit/uiadaptivepresentationcontrollerdelegate/adaptivepresentationstyle(for:traitcollection:).md)
- [adaptivePresentationStyle(for:)](uikit/uiadaptivepresentationcontrollerdelegate/adaptivepresentationstyle(for:).md)

### Adapting the view controller

- [presentationController(_:viewControllerForAdaptivePresentationStyle:)](uikit/uiadaptivepresentationcontrollerdelegate/presentationcontroller(_:viewcontrollerforadaptivepresentationstyle:).md)

### Responding to adaptive transitions

- [presentationController(_:willPresentWithAdaptiveStyle:transitionCoordinator:)](uikit/uiadaptivepresentationcontrollerdelegate/presentationcontroller(_:willpresentwithadaptivestyle:transitioncoordinator:).md)
- [presentationControllerDidAttemptToDismiss(_:)](uikit/uiadaptivepresentationcontrollerdelegate/presentationcontrollerdidattempttodismiss(_:).md)
- [presentationControllerShouldDismiss(_:)](uikit/uiadaptivepresentationcontrollerdelegate/presentationcontrollershoulddismiss(_:).md)
- [presentationControllerDidDismiss(_:)](uikit/uiadaptivepresentationcontrollerdelegate/presentationcontrollerdiddismiss(_:).md)
- [presentationControllerWillDismiss(_:)](uikit/uiadaptivepresentationcontrollerdelegate/presentationcontrollerwilldismiss(_:).md)

### Preparing the adaptive presentation controller

- [presentationController(_:prepare:)](uikit/uiadaptivepresentationcontrollerdelegate/presentationcontroller(_:prepare:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Inherited By

- [UIPopoverPresentationControllerDelegate](uikit/uipopoverpresentationcontrollerdelegate.md)
- [UISheetPresentationControllerDelegate](uikit/uisheetpresentationcontrollerdelegate.md)

## See Also

### Adaptivity

- [UITraitCollection](uikit/uitraitcollection.md)
- [UITraitEnvironment](uikit/uitraitenvironment.md)
- [Automatic trait tracking](uikit/automatic-trait-tracking.md)
- [UIContentContainer](uikit/uicontentcontainer.md)
