---
title: "present(from:permittedArrowDirections:animated:)"
framework: uikit
role: symbol
role_heading: Instance Method
path: "uikit/uipopovercontroller/present(from:permittedarrowdirections:animated:)"
---

# present(from:permittedArrowDirections:animated:)

Displays the popover and anchors it to the specified bar button item.

## Declaration

```swift
func present(from item: UIBarButtonItem, permittedArrowDirections arrowDirections: UIPopoverArrowDirection, animated: Bool)
```

## Parameters

- `item`: The bar button item on which to anchor the popover.
- `arrowDirections`: The arrow directions the popover is permitted to use. You can use this value to force the popover to be positioned on a specific side of the bar button item. However, it is generally better to specify doc://com.apple.uikit/documentation/UIKit/UIPopoverArrowDirection/any and let the popover decide the best placement. You must not specify doc://com.apple.uikit/documentation/UIKit/UIPopoverArrowDirection/unknown for this parameter.
- `animated`: Specify doc://com.apple.documentation/documentation/Swift/true to animate the presentation of the popover or doc://com.apple.documentation/documentation/Swift/false to display it immediately.

## Discussion

Discussion When presenting the popover, this method adds the toolbar that owns the button to the popover’s list of passthrough views. Thus, taps in the toolbar result in the action methods of the corresponding toolbar items being called. If you want the popover to be dismissed when a different toolbar item is tapped, you must implement that behavior in your action handler methods.

## See Also

### Presenting and dismissing the popover

- [present(from:in:permittedArrowDirections:animated:)](uikit/uipopovercontroller/present(from:in:permittedarrowdirections:animated:).md)
- [dismiss(animated:)](uikit/uipopovercontroller/dismiss(animated:).md)
