---
title: UIPopoverPresentationController
framework: uikit
role: symbol
role_heading: Class
path: uikit/uipopoverpresentationcontroller
---

# UIPopoverPresentationController

An object that manages the display of content in a popover.

## Declaration

```swift
@MainActor class UIPopoverPresentationController
```

## Mentioned in

Displaying transient content in a popover

## Overview

Overview From the time a popover is presented until the time it’s dismissed, UIKit uses an instance of this class to manage the presentation behavior. You use instances of this class as-is to configure aspects of the popover appearance and behavior for view controllers whose presentation style is set to UIModalPresentationStyle.popover. In nearly all cases, you use this class as-is and don’t create instances of it directly. UIKit creates an instance of this class automatically when you present a view controller using the UIModalPresentationStyle.popover style. You can retrieve that instance from the presented view controller’s popoverPresentationController property and use it to configure the popover behavior. If you don’t want to configure a popover immediately after presenting a view controller, you can use a delegate object to configure the popover instead. During the presentation process, the popover presentation controller calls various methods of its delegate—an object that conforms to the UIPopoverPresentationControllerDelegate protocol—to ask for information and to inform it about the state of the presentation. Your delegate object can use those methods to configure the popover and adjust its behavior as needed. For information about how to implement a delegate for a popover presentation controller, see UIPopoverPresentationControllerDelegate. For information about how to display a view controller using a popover presentation controller, see Displaying transient content in a popover.

## Topics

### Customizing the popover behavior

- [delegate](uikit/uipopoverpresentationcontroller/delegate.md)
- [UIPopoverPresentationControllerDelegate](uikit/uipopoverpresentationcontrollerdelegate.md)

### Configuring the popover appearance

- [popoverLayoutMargins](uikit/uipopoverpresentationcontroller/popoverlayoutmargins.md)
- [backgroundColor](uikit/uipopoverpresentationcontroller/backgroundcolor.md)
- [passthroughViews](uikit/uipopoverpresentationcontroller/passthroughviews.md)
- [popoverBackgroundViewClass](uikit/uipopoverpresentationcontroller/popoverbackgroundviewclass.md)
- [canOverlapSourceViewRect](uikit/uipopoverpresentationcontroller/canoverlapsourceviewrect.md)

### Specifying the popover’s anchor point

- [sourceItem](uikit/uipopoverpresentationcontroller/sourceitem.md)
- [UIPopoverPresentationControllerSourceItem](uikit/uipopoverpresentationcontrollersourceitem.md)
- [sourceView](uikit/uipopoverpresentationcontroller/sourceview.md)
- [sourceRect](uikit/uipopoverpresentationcontroller/sourcerect.md)
- [barButtonItem](uikit/uipopoverpresentationcontroller/barbuttonitem.md)

### Configuring the popover arrows

- [permittedArrowDirections](uikit/uipopoverpresentationcontroller/permittedarrowdirections.md)
- [arrowDirection](uikit/uipopoverpresentationcontroller/arrowdirection.md)

### Displaying the popover as a sheet

- [adaptiveSheetPresentationController](uikit/uipopoverpresentationcontroller/adaptivesheetpresentationcontroller.md)

## Relationships

### Inherits From

- [UIPresentationController](uikit/uipresentationcontroller.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [UIAppearanceContainer](uikit/uiappearancecontainer.md)
- [UIContentContainer](uikit/uicontentcontainer.md)
- [UIFocusEnvironment](uikit/uifocusenvironment.md)
- [UITraitChangeObservable](uikit/uitraitchangeobservable-67e94.md)
- [UITraitEnvironment](uikit/uitraitenvironment.md)

## See Also

### Popovers

- [Displaying transient content in a popover](uikit/displaying-transient-content-in-a-popover.md)
- [UIPopoverBackgroundView](uikit/uipopoverbackgroundview.md)
- [UIPopoverBackgroundViewMethods](uikit/uipopoverbackgroundviewmethods.md)
