Contents

UIMenuSystem

An object representing a main or contextual menu system.

Declaration

@MainActor class UIMenuSystem

Overview

A menu system groups root menus together. The main system has only one root menu while the context system can have multiple root menus, each built in different UIResponder objects like a view controller.

Use UIMenuSystem in your implementation of buildMenu(with:) to isolate changes to a specific system.

override func buildMenu(with builder: UIMenuBuilder) {
    super.buildMenu(with: builder)
    
    // Ensure that the builder is modifying the menu bar system.
    guard builder.system == UIMenuSystem.main else { return }

    // ...
}

You can also use a menu system to rebuild or revalidate menus as changes occur in your app. To rebuild a menu, call the setNeedsRebuild() method. Call setNeedsRevalidate() when you need the menu system to revalidate a menu.

For more information, see Adding menus and shortcuts to the menu bar and user interface.

Topics

Getting a menu system

Rebuilding a menu system

Revalidating a menu system

Setting group preferences

See Also

App menus