How to set Keyboard type of TextField in SwiftUI?

Aaron Bertsch picture Aaron Bertsch · Jun 9, 2019 · Viewed 18.2k times · Source

I can't seem to find any information or figure out how to set the keyboard type on a TextField for SwiftUI. It would also be nice to be able to enable the secure text property, to hide passwords etc.

This post shows how to "wrap" a UITextField, but I'd rather not use any UI-controls if I don't have to. How to make TextField become first responder?

Anyone have any ideas how this can be done without wrapping an old school UI control?

Answer

Viktor Gardart picture Viktor Gardart · Jun 10, 2019

To create a field where you can enter secure text you can use SecureField($password)

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

If you want to set the contentType of an textField to eg. .oneTimeCode you can do it like this. Also works with keyboardType

TextField($code)
    .textContentType(.oneTimeCode)
    .keyboardType(.numberPad)