我遇到了一个问题,当键盘上按住删除键时,iOS 给我的 UITextViewDelegate 提供了不正确的信息。
当用户在 iPad 上按住UITextView上的删除键时,UITextView 将开始删除整个单词而不是单个字符,按住的时间越长(注意:这不会在模拟器中发生)。
发生这种情况时,UITextView 委托方法:
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
使用包含正确光标位置但长度为 1 的范围调用。这是不正确的,因为 UITextView 现在正在删除整个单词,而不是单个字母。例如,下面的代码将只打印一个空格。
[textView substringWithRange:range]
string contains " "
尽管 UITextView 删除了整个单词。替换文本正确地作为空字符串给出。有没有人知道这个问题的解决方案或解决方法?