Search code examples
keyboardswiftuiios13

How to set Keyboard type of TextField in SwiftUI?


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?


Solution

  • 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)