SwiftUI: Is it possible to turn off predictive text for a TextField

Xcode 12.3 Swift 5.3

If you need to disable autocorrection on multiple TextFields, or indeed add other modifiers, then create a custom TextField:

struct TextFieldCustom: View {
    
    let title: String
    let text: Binding<String>
    
    init(_ title: String, text: Binding<String>) {
        self.title = title
        self.text = text
    }
    
    var body: some View {
        TextField(title, text: text)
            .disableAutocorrection(true)
            // add any other modifiers that you want
    }
}

Example Usage:

Form {
    Section(header: Text("Details")) {
        TextFieldCustom("Field1", text: $field1)
        TextFieldCustom("Feild2", text: $field2)
        TextFieldCustom("Field3", text: $field3)
    }
}

Seems like it is now possible using Xcode 11 Beta 5. There is a new modifier to disable the autocorrection on TextField

func disableAutocorrection(_ disable: Bool?) -> some View

https://developer.apple.com/documentation/swiftui/textfield/3367734-disableautocorrection?changes=latest_beta

Edit: Modifier disableAutocorrection is deprecated in iOS 16. The new modifier is autocorrectionDisabled:

func autocorrectionDisabled(_ disable: Bool = true) -> some View

https://developer.apple.com/documentation/swiftui/presentedwindowcontent/autocorrectiondisabled(_:)?changes=latest_beta&language=_5


This should work:

.disableAutocorrection(true)