【发布时间】: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