<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: 16.0.0 -",
    "macOS: 13.0.0 -",
    "tvOS: 16.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 9.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/TextField/init(text:prompt:axis:label:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI9TextFieldV4text6prompt4axis5labelACyxGAA7BindingVySSG_AA0C0VSgAA4AxisOxyXEtcfc"
  },
  "title" : "init(text:prompt:axis:label:)"
}
-->

# init(text:prompt:axis:label:)

Creates a text field with a preferred axis and a prompt generated from
a `Text`.

```
nonisolated init(text: Binding<String>, prompt: Text? = nil, axis: Axis, @ContentBuilder label: () -> Label)
```

## Parameters

`text`

The text to display and edit.

`prompt`

A `Text` representing the prompt of the text field
which provides users with guidance on what to type into the text
field.

`axis`

The axis in which to scroll text when it doesn’t fit
in the available space.

`label`

A view that describes the purpose of the text field.

## Discussion

Specify a preferred axis in which the text field should scroll
its content when it does not fit in the available space. Depending
on the style of the field, this axis may not be respected.

Use the [`onSubmit(of:_:)`](/documentation/SwiftUI/View/onSubmit(of:_:)) modifier to invoke an action
whenever the user submits this text field.

---

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)