SwiftUI:是否可以关闭TextField的预测文本

时间:2019-07-26 05:08:22

标签: textfield swiftui

我想在SwiftUI中关闭TextField的预测文本/自动更正。似乎可以通过UITextField实现: Disable UITextField Predictive Text

我检查了Apple文档中的TextField并用谷歌搜索,但找不到任何有关此的信息。

有人找到禁用TextField的预测文本/自动完成功能的方法吗?

谢谢!

3 个答案:

答案 0 :(得分:3)

这应该有效:

.disableAutocorrection(true)

答案 1 :(得分:2)

似乎现在可以使用Xcode 11 Beta5。有一个新的修饰符可以禁用TextField上的自动校正

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

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

答案 2 :(得分:0)

Xcode 12.3 Swift 5.3

如果您需要在多个 TextField 上禁用自动更正,或者确实需要添加其他修饰符,请创建自定义 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
    }
}

示例用法:

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