In iOS 14 and later, a button can display a pull-down menu that lists items or actions from which people can choose. You can use a pull-down menu — or simply menu — to offer items that are directly related to the button's action or to provide a list of actions that are useful in the current context.
Menus offer several advantages over action sheets, context menus, and popovers. For example:
- A menu opens very near the button that reveals it, so people can instantly understand the relationship between the menu's items and the action they're performing.
- In addition to listing actions, a menu can offer selections people can use to affect the primary action.
- Menus animate quickly into view and don't dim the screen when they appear, giving both the transition and the overall experience a lightweight feel.
For developer guidance, see UIMenu.
Don't put every action in a menu. Menus let you offer a range of items without cluttering your interface, but putting every action in a menu means that people have to tap at least twice to do anything. Continue to put the most important actions in your main interface and use menus to offer supplementary items. For example, composing a new message is the most common action people take in Messages, so the Compose button is prominently featured in the main interface. To give people a convenient set of editing options, Messages attaches a menu to the Edit button instead of displaying the options in the main interface.
Use a menu to present options that are directly related to an action. A menu lets you give people a way to clarify an action's target or customize its behavior without adding buttons to the main interface. For example:
- When people tap an Add button in your app, you could present a menu that lets them specify the item they want to add.
- If your app supports sorting, you could use a menu to let people select an attribute on which to sort.
- In an app that enables navigation among multiple locations, a menu can let people navigate to a specific location instead of retracing each step.
Use a menu to provide secondary app actions. If your app includes essential actions that don't belong in the main interface, you can group these actions in a menu. For example, Files uses a menu to provide actions — like adding a folder or scanning a document — in addition to options for viewing and sorting the content.
Consider adding a More button to display a menu. A More button integrates well with most interfaces, and people generally understand that it provides access to additional functionality. You can create a More button by placing the ellipsis symbol within a circular button (see SF Symbols to learn more about symbols). Alternatively, you can let people reveal a menu by performing a specific gesture on an existing button. For example, in iOS 14 and later, Safari responds to a touch and hold gesture on the tabs button by displaying a menu of tab-related actions like New Tab and Close All Tabs.
Use separators to visually group related menu items. Creating visual groupings can help people scan a menu more quickly. For example, the More menu in the Files app uses separators to help people distinguish actions that affect the content from items related to viewing and sorting. Using more than about three groups in a menu can make it seem difficult to parse.
Let people know when a menu item is destructive, and ask them to confirm their intent. Menus use red text to highlight actions that you identify as potentially destructive. When people choose a destructive action, the system displays an action sheet (iOS) or popover (iPadOS) in which they can confirm their choice or cancel the action. Because an action sheet appears in a different location from the menu and requires deliberate dismissal, it can help people avoid losing data by mistake.
Include a glyph with a menu item when it provides value. If you need to clarify an item's meaning, you can display a glyph or image after its title. Using an SF symbol for this purpose can help you provide a familiar experience while ensuring that the symbol remains aligned with the text at every scale.
Display a menu title if it adds meaning. In most cases, people understand the context of a menu's items because the menu appears instantly when they tap a button to perform an action. If necessary, you can provide a succinct title to display at the top of a menu.