---
title: UIMenuElement
framework: uikit
role: symbol
role_heading: Class
path: uikit/uimenuelement
---

# UIMenuElement

An object representing a menu, action, or command.

## Declaration

```swift
@MainActor class UIMenuElement
```

## Overview

Overview UIMenuElement defines the behavior shared by all menus, actions, and commands. You don’t create UIMenuElement objects directly. Instead, you create an appropriate object that inherits from this class, such as UIMenu, UIAction, or UICommand.

## Topics

### Getting the element attributes

- [title](uikit/uimenuelement/title.md)
- [subtitle](uikit/uimenuelement/subtitle.md)
- [image](uikit/uimenuelement/image.md)

### Creating a menu element

- [init(coder:)](uikit/uimenuelement/init(coder:).md)

### Constants

- [UIMenuElement.Attributes](uikit/uimenuelement/attributes.md)
- [UIMenuElement.State](uikit/uimenuelement/state.md)
- [UIMenuElement.RepeatBehavior](uikit/uimenuelement/repeatbehavior.md)

### Instance Properties

- [highlightStateUpdateHandler](uikit/uimenuelement/highlightstateupdatehandler.md)
- [preferredImageVisibility](uikit/uimenuelement/preferredimagevisibility.md)

### Enumerations

- [UIMenuElement.ImageVisibility](uikit/uimenuelement/imagevisibility.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Inherited By

- [UIAction](uikit/uiaction.md)
- [UICommand](uikit/uicommand.md)
- [UIDeferredMenuElement](uikit/uideferredmenuelement.md)
- [UIMenu](uikit/uimenu.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [Copyable](swift/copyable.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)
- [Sendable](swift/sendable.md)
- [UIAccessibilityIdentification](uikit/uiaccessibilityidentification.md)

## See Also

### Menu elements and keyboard shortcuts

- [Adding menus and shortcuts to the menu bar and user interface](uikit/adding-menus-and-shortcuts-to-the-menu-bar-and-user-interface.md)
- [Adopting menus and UIActions in your user interface](uikit/adopting-menus-and-uiactions-in-your-user-interface.md)
- [UIAction](uikit/uiaction.md)
- [UICommand](uikit/uicommand.md)
- [UIKeyCommand](uikit/uikeycommand.md)
- [UIDeferredMenuElement](uikit/uideferredmenuelement.md)
- [UIDeferredMenuElement.Provider](uikit/uideferredmenuelement/provider.md)
- [UIMenuElement.Attributes](uikit/uimenuelement/attributes.md)
- [UIMenuElement.State](uikit/uimenuelement/state.md)
- [UIMenuLeaf](uikit/uimenuleaf.md)
