禁用UITextField预测文本

Mik*_*imz 69 xcode uitextfield ios8

随着iOS 8的发布,我想在我开始在UITextField中输入时禁用键盘的预测文本部分.不知道如何做到这一点,任何帮助将不胜感激!

Mik*_*imz 159

将autoCorrectionType设置为UITextAutocorrectionTypeNo就可以了

Objective-C的

textField.autocorrectionType = UITextAutocorrectionTypeYes;
textField.autocorrectionType = UITextAutocorrectionTypeNo;
Run Code Online (Sandbox Code Playgroud)

斯威夫特2

textField.autocorrectionType = .Yes
textField.autocorrectionType = .No
Run Code Online (Sandbox Code Playgroud)

斯威夫特3

textField.autocorrectionType = .yes
textField.autocorrectionType = .no
Run Code Online (Sandbox Code Playgroud)

  • 这不会禁用自动纠正吗?这里的问题是添加了"Predictive Keyboard Toolbar",但是没有将autoCorrection设置为UITextAutocorrectionTypeNo也关闭了Auto Correct? (9认同)
  • 小心:`myTextField.autocorrectionType = UITextAutocorrectionTypeNo;`必须放在`[myTextField becoreFirstResponder]之前;``才有效. (6认同)
  • 我的问题是另一种方式:你可以禁用自动更正但保留单词建议栏吗?这是两个独立的功能,但似乎是由相同的设置控制,真的很愚蠢...... (3认同)
  • 该死!我和@Janneman有同样的问题,我确信“快速输入栏”的功能可以与“禁用自动更正”结合起来,因为我在twitter、ig等上看到了这种确切的行为,但无论我做什么编码后,它无法在模拟器上工作...直到我意识到这是用户键盘设置中的自定义(常规>键盘>自动更正)。只需将其保留为``textField.auto CorrectionType = .default```,文本是否自动更正将取决于用户,而不是您,因为它应该是这样 (2认同)

And*_*ndy 15

斯威夫特2

textField.autocorrectionType = .Yes
textField.autocorrectionType = .No
Run Code Online (Sandbox Code Playgroud)

斯威夫特3

textField.autocorrectionType = .yes
textField.autocorrectionType = .no
Run Code Online (Sandbox Code Playgroud)


Vah*_*yan 11

选择的答案是正确的,但是您还可以选择在情节提要中执行相同的操作。

您只需要选择文本字段,然后在“显示属性检查器”下,将Correction设置为NO即可

见附件图片


Eri*_*ock 11

对我来说,它还可以将拼写检查类型设置为否(iOS 15,Swift 5+)

        textField.autocorrectionType = .no
        textField.spellCheckingType = .no
Run Code Online (Sandbox Code Playgroud)

  • 这应该是公认的答案,其他人只禁用 siri 自动更正,他们不会像 `spellCheckingType` 那样禁用预测文本栏。谢谢! (4认同)

Was*_*hah 5

像你这样开启或关闭UITextAutocorrectionType

myTextView.autocorrectionType = UITextAutocorrectionTypeNo;
myTextView.autocorrectionType = UITextAutocorrectionTypeYes;

  • 有没有办法做到这一点,但保持自动正确的功能? (6认同)