如何禁用输入框的自动更正?

How can I disable auto-correct on an input box?

我想在我的应用程序的输入框中禁用自动更正。我找到了 objective-c 的解决方案,如下所示:

    UITextField* f = [[UITextField alloc] init];
    f.autocorrectionType = UITextAutocorrectionTypeNo;

我试过这样实现它,但它不起作用:

    // in my viewController
    @IBOutlet weak var webAddressInput: UITextField!
    // in my viewDidLoad
    webAddressInput.autocorrectionType = UITextAutocorrectionTypeNo

如何在 Swift 中禁用输入框的自动更正?

Swift 对枚举的处理需要一点时间来适应。如果您在文档中搜索 UITextAutocorrectionTypeNo,它会将您带到伞型 UITextAutocorrectionType。

该类型的 Swift 定义是

enum UITextAutocorrectionType : Int {
    case Default
    case No
    case Yes
}

在 Swift 中你使用 type.value,所以这将是

UITextAutocorrectionType.No

你的线路是

webAddressInput.autocorrectionType = UITextAutocorrectionType.No

(虽然,查看文档,我没有在 UITextField 上看到 autocorrectionType 属性)