【问题收集】UITextView 问题集合

1,输入内容时光标乱跳问题

处理:
textView.layoutManager.allowsNonContiguousLayout = NO;

这句代码设置了 UITextView 中的 layoutManager(NSLayoutManager) 是否非连续布局属性,默认是 YES,设置为 NO 后 UITextView 就不会再自己重置滑动了。


2,判断输入内容长度时,中文联想输入法文本长度判断不准确问题

Paste_Image.png

如图,输入中文文字,如 几次 时,拼音 jici 已经在 textView 中,被计算到了文本的长度中,而我们要获取的长度是选择了 几次 后的长度,而不是在拼音状态 jici 的长度

处理:
/ *如果可以选择文本,则可以对其进行标记。
标记的文本表示“暂时的插入的文本,其尚未被用户确认。
它需要在显示屏上进行独特的视觉”处理。
如果有任何标记的文本选择,无论是*注释还是扩展范围,总是驻留* 
设置标记的文本将替换现有的标记文本,如果没有,则从当前选择中插入。 * /
@property (nullable, nonatomic, readonly) UITextRange *markedTextRange; // Nil if no marked text.

因此,判断是否有标记文本,有则不判断文本的长度

- (void)textViewDidChange:(UITextView *)textView{
    if(textView.markedTextRange) return;
    if(textView.lengh > maxValue) {
        NSLog(@"文本长度超过maxValue");
    }
}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容