<!--
{
  "availability" : [
    "iOS: 13.0.0 - 27.0.0",
    "iPadOS: 13.0.0 - 27.0.0",
    "macCatalyst: 13.0.0 - 27.0.0",
    "macOS: 10.15.0 - 27.0.0",
    "tvOS: 13.0.0 - 27.0.0",
    "visionOS: 1.0.0 - 27.0.0",
    "watchOS: 6.0.0 - 27.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/TextField/init(_:text:onEditingChanged:onCommit:)-588cl",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI9TextFieldVA2A0C0VRszrlE_4text16onEditingChanged0F6CommitACyAEGqd___AA7BindingVySSGySbcyyctcSyRd__lufc"
  },
  "title" : "init(_:text:onEditingChanged:onCommit:)"
}
-->

# init(_:text:onEditingChanged:onCommit:)

Creates a text field with a text label generated from a title string.

```
nonisolated init<S>(_ title: S, text: Binding<String>, onEditingChanged: @escaping (Bool) -> Void, onCommit: @escaping () -> Void) where S : StringProtocol
```

## Parameters

`title`

The title of the text view, describing its purpose.

`text`

The text to display and edit.

`onEditingChanged`

The action to perform when the user
begins editing `text` and after the user finishes editing `text`.
The closure receives a Boolean value that indicates the editing
status: `true` when the user begins editing, `false` when they
finish.

`onCommit`

An action to perform when the user performs an action
(for example, when the user presses the Return key) while the text
field has focus.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)