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

Swift 如何禁用输入框上的自动更正?,swift,uitextfield,autocorrect,Swift,Uitextfield,Autocorrect,我想在我的应用程序中的输入框上禁用自动更正。我找到了objective-c的解决方案,如下所示: UITextField* f = [[UITextField alloc] init]; f.autocorrectionType = UITextAutocorrectionTypeNo; 我尝试过这样实现它,但它不起作用: // in my viewController @IBOutlet weak var webAddressInput: UITextFiel

我想在我的应用程序中的输入框上禁用自动更正。我找到了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
你的电话是

UITextAutocorrectionType.No
webAddressInput.autocorrectionType = UITextAutocorrectionType.No

(虽然,查看文档,我在UITextField上没有看到
自动更正类型
属性)

它不起作用,因为这对matt没有太大帮助,谢谢!对不起,我说得太含糊了。术语UITextAutocorrectionTypeNo不是Swift。你需要将代码翻译成Swift。对不起,我以为你不知道从哪里寻找问题的根源。-在我的书中,关于这个主题的最好的地方是附录,它讨论了Objective-C枚举如何转化为Swift枚举/结构:我现在来看。谢谢@Matt谢谢duncan!现在我明白了@matt所说的翻译是什么意思了。我可能可以全面地将type.value应用于objective-c。太好了,是的。这似乎是Swift中从Objective-CAPI定义枚举的一般模式。每个枚举的名称往往是LongCamelCasePrefix with Uniquending,在Swift中,枚举类型是第一个公共部分(LongCamelCasePrefix),而特定枚举是唯一的第二部分(with Uniquending),因此特定枚举被写入LongCamelCasePrefix.with Uniquending。我见过一些Objective-C枚举,其中整个枚举组的类型与前缀相同,而有些则不同。哇,你实际上刚刚为我做了一些单击。我是Swift的新手,一段时间以来我一直在努力解释文档。当你在回答中解释枚举时,你又向我展示了如何处理我在文档中找到的内容。再次感谢。:)