Contents

RenameButton

A button that triggers a standard rename action.

Declaration

struct RenameButton<Label> where Label : View

Overview

A rename button receives its action from the environment. Use the renameAction(_:) modifier to set the action. The system disables the button if you don’t define an action.

struct RowView: View {
    @State private var text = ""
    @FocusState private var isFocused: Bool

    var body: some View {
        TextField(text: $item.name) {
            Text("Prompt")
        }
        .focused($isFocused)
        .contextMenu {
            RenameButton()
            // ... your own custom actions
        }
        .renameAction { $isFocused = true }
}

When someone taps the rename button in the context menu, the rename action focuses the text field by setting the isFocused property to true.

You can use this button inside of a navigation title menu and the navigation title modifier automatically configures the environment with the appropriate rename action.

ContentView()
    .navigationTitle($contentTitle) {
        // ... your own custom actions
        RenameButton()
    }

Topics

Creating an rename button

See Also

Creating special-purpose buttons