Creates a multi-line text field.
Use a ``TextEditor`` instance to create a view in which users can enter
and edit long-form text.
In this example, the text editor renders gray text using the `13`
point Helvetica Neue font with `5` points of spacing between each line:
struct TextEditingView: View {
@State private var fullText: String = "This is some editable text..."
var body: some View {
TextEditor(text: $fullText)
.foregroundColor([Link])
.font(.custom("HelveticaNeue", size: 13))
.lineSpacing(5)
.padding()
}
}

You can define the styling for the text within the view, including the
text color, font, and line spacing. You define these styles by applying
standard view modifiers to the view.
- Parameter text: A ``Binding`` to the variable containing the
text to edit.
The content and behavior of the view.
The type of view representing the body of this view.
When you create a custom view, Swift infers this type from your
implementation of the required `body` property.
A view for editable text.
`TextField` provides an interface to display and modify editable text.
You create a text field with a label and a binding to a value. If the
value is a string, the text field updates this value continuously as the
user types or otherwise edits the text in the field. For non-string types,
it updates the value when the user commits their edits, such as by pressing
the Return key.
The text field also allows you to provide two closures that customize its
behavior. The `onEditingChanged` property informs your app when the user
begins or ends editing the text. The `onCommit` property executes when the
user commits their edits.
`TextField` has 4 different initializers, and is most commonly
initialized with a `@State` variable and placeholder text.
struct ExampleView: View {
@State var myFruit: String = ""
var body: some View {
VStack {
Text(myFruit)
TextField("Fruit", text: $myFruit)
}
.padding()
}
}

### Styling Text Fields
SwiftUI provides a default text field style that reflects an appearance and
behavior appropriate to the platform. The default style also takes the
current context into consideration, like whether the text field is in a
container that presents text fields with a special style. Beyond this, you
can customize the appearance and interaction of text fields using the
``View/textFieldStyle(_:)`` modifier, passing in an instance of
``TextFieldStyle``.
[textfield-style ->]
``TextField`` can be styled with the ``View/textFieldStyle(_:)`` modifier.
struct ExampleView: View {
@State var myFruit: String = ""
var body: some View {
Text(myFruit)
TextField("Fruit", text: $myFruit)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding()
}
}

[<-]
The ``TextFieldStyle`` protocol and ``View/textFieldStyle(_:)`` modifier
provide helpful functionality to implement a well styled ``TextField``.