如何在SwiftUI中设置TextField的键盘类型?

Aar*_*sch 11 keyboard ios13 swiftui

我似乎找不到任何信息,也找不到如何在SwiftUI的TextField上设置键盘类型的方法。能够启用安全文本属性,隐藏密码等也很好。

这篇文章显示了如何“包装” UITextField,但是如果不需要的话,我宁愿不使用任何UI控件。 如何使TextField成为第一响应者?

任何人都知道如何在不包装旧式UI控件的情况下完成此操作?

Vik*_*art 14

要创建一个可以输入安全文本的字段,可以使用 SecureField($password)

https://developer.apple.com/documentation/swiftui/securefield

如果要将contentTypetextField的设置为例如。.oneTimeCode你可以这样 也适用于keyboardType

TextField($code)
    .textContentType(.oneTimeCode)
    .keyboardType(.numberPad)
Run Code Online (Sandbox Code Playgroud)


Roh*_*ana 13

要设置TextField's键盘类型,您需要添加修饰符.keyboardType()

TextField(placeHolder, text: "your text here")
    .keyboardType(.numberPad)
Run Code Online (Sandbox Code Playgroud)


kon*_*iki 6

我们不再需要使用hack。Beta 5带来了一个新的修饰符来设置键盘类型。例如,使用数字键盘:

.keyboardType(.numberPad)
Run Code Online (Sandbox Code Playgroud)

还有autocapitalization()一个EnvironmentValue disableAutocorrection

  • 因此,如果您使用 NumberFormatter,则会出现问题。如果您使用默认键盘,则返回键确实会导致该值传播到绑定值。如果您使用十进制键盘(对于带有附加 NumberFormatter 的字段来说是有意义的),则 * 没有 * 没有返回键,并且实际上输入的值永远不会传播到绑定值。 (3认同)