Contents

MenuStyle

A type that applies standard interaction behavior and a custom appearance to all menus within a view hierarchy.

Declaration

@MainActor @preconcurrency protocol MenuStyle

Overview

To configure the current menu style for a view hierarchy, use the menuStyle(_:) modifier.

A type conforming to this protocol inherits @preconcurrency @MainActor isolation from the protocol if the conformance is included in the type’s base declaration:

struct MyCustomType: Transition {
    // `@preconcurrency @MainActor` isolation by default
}

Isolation to the main actor is the default, but it’s not required. Declare the conformance in an extension to opt out of main actor isolation:

extension MyCustomType: Transition {
    // `nonisolated` by default
}

Topics

Getting built-in menu styles

Creating custom menu styles

Supporting types

See Also

Styling menus