<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: 16.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIEditMenuInteractionDelegate",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(pl)UIEditMenuInteractionDelegate"
  },
  "title" : "UIEditMenuInteractionDelegate"
}
-->

# UIEditMenuInteractionDelegate

The methods for customizing the menu the interaction displays.

```
protocol UIEditMenuInteractionDelegate : NSObjectProtocol
```

## Overview

You use this protocol to customize the actions or presentation of the menu an [`UIEditMenuInteraction`](/documentation/UIKit/UIEditMenuInteraction) object displays.

## Topics

### Customizing the Menu

[`func editMenuInteraction(UIEditMenuInteraction, menuFor: UIEditMenuConfiguration, suggestedActions: [UIMenuElement]) -> UIMenu?`](/documentation/UIKit/UIEditMenuInteractionDelegate/editMenuInteraction(_:menuFor:suggestedActions:))

Provides the menu to use when the interaction begins or requires an update.

[`func editMenuInteraction(UIEditMenuInteraction, targetRectFor: UIEditMenuConfiguration) -> CGRect`](/documentation/UIKit/UIEditMenuInteractionDelegate/editMenuInteraction(_:targetRectFor:))

Provides the target rectangle to position the menu relative to when the interaction begins or requires an update.

[`func editMenuInteraction(UIEditMenuInteraction, willPresentMenuFor: UIEditMenuConfiguration, animator: any UIEditMenuInteractionAnimating)`](/documentation/UIKit/UIEditMenuInteractionDelegate/editMenuInteraction(_:willPresentMenuFor:animator:))

Informs the delegate when the interaction is about to present the menu.

[`func editMenuInteraction(UIEditMenuInteraction, willDismissMenuFor: UIEditMenuConfiguration, animator: any UIEditMenuInteractionAnimating)`](/documentation/UIKit/UIEditMenuInteractionDelegate/editMenuInteraction(_:willDismissMenuFor:animator:))

Informs the delegate when the interaction is about to dismiss the menu.

[`protocol UIEditMenuInteractionAnimating`](/documentation/UIKit/UIEditMenuInteractionAnimating)

Methods adopted by system-supplied animator objects when interacting with menus.

## Relationships

### Inherits From

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)