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
Textrepresenting the prompt of the text field which provides users with guidance on what to type into the text field. Defaults tonil. - 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.