Contents

init(_:text:selection:prompt:axis:)

Creates a text field with a binding to the current selection and a text label generated from a localized title string.

Declaration

nonisolated init(_ titleKey: LocalizedStringKey, text: Binding<String>, selection: Binding<TextSelection?>, prompt: Text? = nil, axis: Axis? = nil)

Parameters

  • titleKey:

    The key for the localized title of the text field, describing its purpose.

  • text:

    The text to display and edit.

  • selection:

    A Binding to the variable containing the selection.

  • prompt:

    A Text representing the prompt of the text field which provides users with guidance on what to type into the text field. Defaults to nil.

  • axis:

    The axis in which to scroll text when it doesn’t fit in the available space. Defaults to nil.

Discussion

The following example shows a text field with a binding to the current selection:

@State private var message: String = ""
@State private var selection: TextSelection? = nil

var body: some View {
    TextField(
        "Message",
        text: $message,
        selection: $selection
    )
}

Use the onSubmit(of:_:) modifier to invoke an action whenever the user submits this text field.