Compose SwiftUIv0.4.0
esc
GuideAPIGitHub
View

TextField

A control that edits a single line of text.

iOS 17.0+macOS 14.0+tvOS 17.0+watchOS 10.0+
fun TextField(title: String, text: String, modifier: Modifier = Modifier, onTextChange: (String) -> Unit)

Overview

Pass the current text and update it in the callback. Typing calls your callback and recomposes before SwiftUI draws the next frame, so the cursor never jumps.

TextField("Name", text = name, onTextChange = { name = it })

This is the Kotlin form of SwiftUI TextField.init(_:text:): SwiftUI documentation. In Swift it reads:

@export(implementation) nonisolated init<S>(_ title: S, text: Binding<String>) where S : StringProtocol

Topics

Creating a TextField

fun TextField(title: String, text: String, modifier: Modifier = Modifier, onTextChange: (String) -> Unit, onEditingChanged: (Boolean) -> Unit, onCommit: () -> Unit)
SwiftUI TextField.init(_:text:onEditingChanged:onCommit:)
fun TextField(title: String, text: String, modifier: Modifier = Modifier, onTextChange: (String) -> Unit, onEditingChanged: (Boolean) -> Unit)
SwiftUI TextField.init(_:text:onEditingChanged:)
fun TextField(title: String, text: String, axis: Axis, modifier: Modifier = Modifier, onTextChange: (String) -> Unit)
SwiftUI TextField.init(_:text:axis:)
fun TextField(title: String, text: String, modifier: Modifier = Modifier, onTextChange: (String) -> Unit, onCommit: () -> Unit)
SwiftUI TextField.init(_:text:onCommit:)
fun TextField(title: String, text: String, modifier: Modifier = Modifier, onTextChange: (String) -> Unit)
SwiftUI TextField.init(_:text:)
fun TextField(text: String, axis: Axis, modifier: Modifier = Modifier, prompt: String? = null, onTextChange: (String) -> Unit, content: @Composable () -> Unit)
SwiftUI TextField.init(text:prompt:axis:label:)
fun TextField(text: String, modifier: Modifier = Modifier, prompt: String? = null, onTextChange: (String) -> Unit, content: @Composable () -> Unit)
SwiftUI TextField.init(text:prompt:label:)
fun TextField(titleKey: LocalizedKey, text: String, modifier: Modifier = Modifier, onTextChange: (String) -> Unit, onEditingChanged: (Boolean) -> Unit, onCommit: () -> Unit)
SwiftUI TextField.init(_:text:onEditingChanged:onCommit:)
fun TextField(titleKey: LocalizedKey, text: String, modifier: Modifier = Modifier, onTextChange: (String) -> Unit, onEditingChanged: (Boolean) -> Unit)
SwiftUI TextField.init(_:text:onEditingChanged:)
fun TextField(titleResource: LocalizedKey, text: String, axis: Axis, modifier: Modifier = Modifier, onTextChange: (String) -> Unit)
SwiftUI TextField.init(_:text:axis:)
fun TextField(titleResource: LocalizedKey, text: String, prompt: String?, axis: Axis, modifier: Modifier = Modifier, onTextChange: (String) -> Unit)
SwiftUI TextField.init(_:text:prompt:axis:)
fun TextField(title: String, text: String, prompt: String?, axis: Axis, modifier: Modifier = Modifier, onTextChange: (String) -> Unit)
SwiftUI TextField.init(_:text:prompt:axis:)
fun TextField(titleResource: LocalizedKey, text: String, prompt: String?, modifier: Modifier = Modifier, onTextChange: (String) -> Unit)
SwiftUI TextField.init(_:text:prompt:)
fun TextField(title: String, text: String, prompt: String?, modifier: Modifier = Modifier, onTextChange: (String) -> Unit)
SwiftUI TextField.init(_:text:prompt:)
fun TextField(titleKey: LocalizedKey, text: String, modifier: Modifier = Modifier, onTextChange: (String) -> Unit, onCommit: () -> Unit)
SwiftUI TextField.init(_:text:onCommit:)
fun TextField(titleResource: LocalizedKey, text: String, modifier: Modifier = Modifier, onTextChange: (String) -> Unit)
SwiftUI TextField.init(_:text:) · iOS 26.0+, macOS 26.0+, tvOS 26.0+, watchOS 26.0+
fun TextField(titleKey: LocalizedKey? = null, text: String? = null, axis: Axis? = null, prompt: String? = null, modifier: Modifier = Modifier, onTextChange: ((String) -> Unit)? = null)
SwiftUI TextField · (e.g. Image(systemName = SFSymbol.star)).

Methods

fun TextFieldText(titleKey: LocalizedKey, text: String, axis: Axis, modifier: Modifier = Modifier, onTextChange: (String) -> Unit)
SwiftUI TextField.init(_:text:axis:)
fun TextFieldText(titleKey: LocalizedKey, text: String, prompt: String?, axis: Axis, modifier: Modifier = Modifier, onTextChange: (String) -> Unit)
SwiftUI TextField.init(_:text:prompt:axis:)
fun TextFieldText(titleKey: LocalizedKey, text: String, prompt: String?, modifier: Modifier = Modifier, onTextChange: (String) -> Unit)
SwiftUI TextField.init(_:text:prompt:)
fun TextFieldText(titleKey: LocalizedKey, text: String, modifier: Modifier = Modifier, onTextChange: (String) -> Unit)
SwiftUI TextField.init(_:text:)