【问题标题】:In iOS is there a way to prevent auto spelling correction in a UITextView? [duplicate]在 iOS 中,有没有办法防止 UITextView 中的自动拼写更正? [复制]
【发布时间】:2015-12-15 03:09:31
【问题描述】:

我已经实现了 textView:shouldChangeTextInRange:replacementText: 如下图。我需要它来删除提示文本并结束编辑。我是否需要添加其他内容才能关闭自动更正?或者我该如何关闭它?

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
    if ([self.noteView.text isEqualToString:initialText]) {
        textView.text = @"";
        self.noteView.textColor = [UIColor blackColor]; // initialText was lightGray
    } else if ([text isEqualToString:@"\n"]) {
        [textView resignFirstResponder];
    }
    return YES;
}

【问题讨论】:

  • 如果只允许一行,为什么要使用UITextView 而不是UITextField?顺便说一句 - 您的代码不会处理用户粘贴大量带有一堆换行符的文本。
  • @maddy:是的。我会考虑更改为 UITextField。这个应用程序的第一个版本不同,确实需要几行,但后来我将其更改为只需要一行并且没有更改类。
  • @maddy:在查看了您引用的上一个答案后,我现在找到了 UITextInputTraits 并看到它确实让我不指定自动更正。非常感谢。但我不能接受你的回答,因为你没有把它作为答案发布。

标签: ios uitextview autocorrect


【解决方案1】:

您可以在情节提要上设置它。选择UITextView并勾选:

如果您不使用情节提要,可以使用以下代码:

yourTextView.autocorrectionType = UITextAutocorrectionTypeNo;

【讨论】:

  • 谢谢,很高兴知道,但我不会在故事板中制作这个 UITextView。
  • @RobertL 你也可以在代码中设置它。检查我的编辑答案。
猜你喜欢
  • 2021-11-30
  • 2012-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-05
  • 1970-01-01
  • 1970-01-01
  • 2014-03-26
相关资源
最近更新 更多