Enumeration 列挙

EditMode

A mode that indicates whether the user can edit a view’s content.

Declaration 宣言

enum EditMode

Overview 概要

You receive an optional binding to the edit mode state when you read the editMode environment value. The binding contains an EditMode value that indicates whether edit mode is active, and that you can use to change the mode. To learn how to read an environment value, see EnvironmentValues.

Certain built-in views automatically alter their appearance and behavior in edit mode. For example, a List with a ForEach that’s configured with the onDelete(perform:) or onMove(perform:) modifier provides controls to delete or move list items while in edit mode. On iOS and tvOS, lists configured for selection activate the selection interface only when edit mode is active.

You can also customize your own views to react to edit mode. The following example replaces a read-only Text view with an editable TextField, checking for edit mode by testing the wrapped value’s isEditing property:


@Environment(\.editMode) private var editMode
@State private var name = "Maria Ruiz"


var body: some View {
    Form {
        if editMode?.wrappedValue.isEditing == true {
            TextField("Name", text: $name)
        } else {
            Text(name)
        }
    }
    .animation(nil, value: editMode?.wrappedValue)
    .toolbar { // Assumes embedding this view in a NavigationView.
        EditButton()
    }
}

You can set the edit mode through the binding, or you can rely on an EditButton to do that for you, as the example above demonstrates. The button activates edit mode when the user taps it, and disables the mode when the user taps again.

Topics 話題

Getting Edit Modes

Checking for Editing Mode 編集モードを確認する

Comparing Edit Modes 編集モードを比較する

Default Implementations 省略時実装

Relationships 関係

Conforms To 次に準拠

See Also 参照

Configuration