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

# UIEditMenuConfiguration

An object containing the configuration details for the menu your app presents in response to an edit menu interaction.

```
@MainActor class UIEditMenuConfiguration
```

## Overview

You use this object when calling the [`presentEditMenu(with:)`](/documentation/UIKit/UIEditMenuInteraction/presentEditMenu(with:)) method of [`UIEditMenuInteraction`](/documentation/UIKit/UIEditMenuInteraction) to provide the configuration details the interaction’s delegate uses to construct the menu that the interaction displays.

## Topics

### Creating an edit menu configuration

[`convenience init(identifier: AnyHashable?, sourcePoint: CGPoint)`](/documentation/UIKit/UIEditMenuConfiguration/init(identifier:sourcePoint:))

Initializes a new configuration with the source location you specify.

[`+ (instancetype) configurationWithIdentifier:(id<NSCopying>) identifier sourcePoint:(CGPoint) sourcePoint;`](/documentation/UIKit/UIEditMenuConfiguration/configurationWithIdentifier:sourcePoint:)

Creates a new configuration with the source location you specify.

### Getting the configuration identifier

[`var identifier: AnyHashable`](/documentation/UIKit/UIEditMenuConfiguration/identifier-cjqj)

The unique identifier for this configuration object.

[`@property (nonatomic, copy, readonly) id<NSCopying> identifier;`](/documentation/UIKit/UIEditMenuConfiguration/identifier-1vhk9)

The unique identifier for this configuration object.

### Configuring the menu

[`var preferredArrowDirection: UIEditMenuArrowDirection`](/documentation/UIKit/UIEditMenuConfiguration/preferredArrowDirection)

The preferred direction the arrow of the edit menu is pointing.

[`enum UIEditMenuArrowDirection`](/documentation/UIKit/UIEditMenuArrowDirection)

Constants that describe the direction the arrow of the edit menu is pointing.

[`var sourcePoint: CGPoint`](/documentation/UIKit/UIEditMenuConfiguration/sourcePoint)

The source location of the interaction.

## Relationships

### Conforms To

[`Equatable`](/documentation/Swift/Equatable)

[`CVarArg`](/documentation/Swift/CVarArg)

[`Hashable`](/documentation/Swift/Hashable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

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

[`Sendable`](/documentation/Swift/Sendable)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

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)