< How to group views together with ControlGroup | How to take action when the user submits a TextField > |
Updated for Xcode 14.2
SwiftUI’s TextField
view is similar to UITextField
in UIKit, although it looks a little different by default and relies very heavily on binding to state.
To create one, you should pass in a placeholder to use inside the text field, plus the state value it should bind to. For example, this creates a TextField
bound to a local string, then places a text view below it that shows the text field’s output as you type:
struct ContentView: View {
@State private var name: String = "Tim"
var body: some View {
VStack(alignment: .leading) {
TextField("Enter your name", text: $name)
Text("Hello, \(name)!")
}
}
}
Download this as an Xcode project
When that’s run, you should be able to type into the text field and see a greeting appear directly below.
There are two important provisos when working with text fields. First, they don’t have a border by default, so you probably won’t see anything – you’ll need to tap inside roughly where it is in order to activate the keyboard.
Second, you might find you can’t type into the canvas preview of your layout. If you hit that problem, press Cmd+R to build and run your code in the simulator.
SPONSORED In-app subscriptions are a pain to implement, hard to test, and full of edge cases. RevenueCat makes it straightforward and reliable so you can get back to building your app. Oh, and it's free if your app makes less than $10k/mo.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.