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