大佬教程收集整理的这篇文章主要介绍了ipad – 按删除键后UITextView caretRectForPosition错误值为最后一个字符,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
UITextPosition *endPos = self.SELEctedTextRange.end; CGRect rect = [self caretRectForPosition:endPos]; [self scrollRectToVisible:rect animated:NO];
答:检测来自caretRectForPosition的无效结果.在我的例子中,无效坐标似乎总是大的负值(-1.0似乎是i.o.!)或者是origin.y的’无限’.
B:在短时间后重新询问插入位置的文本视图.我检查了一些延迟值; 0.05似乎足够了.
代码:
- (void)textViewDidChange:(UITextView *)pTextView { UITextPosition* endPos = pTextView.SELEctedTextRange.end; CGRect caretRectIntextView = [pTextView caretRectForPosition:endPos]; if ((-1.0 > CGRectGetMinY(caretRectIntextView)) || (INFINITY == CGRectGetMinY(caretRectIntextView))) { NSLog(@"Invalid caretRectIntextView detected!"); dispatch_after(dispatch_time(DISPATCH_TIME_Now,(int64_t)(0.05 * NSEC_PER_SEC)),dispatch_get_main_queue(),^{ // Recall [self textViewDidChange:pTextView]; }); return; } ... your code ... }
以上是大佬教程为你收集整理的ipad – 按删除键后UITextView caretRectForPosition错误值为最后一个字符全部内容,希望文章能够帮你解决ipad – 按删除键后UITextView caretRectForPosition错误值为最后一个字符所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。