UITextView 输入、删除文字出现跳跃现象

在IOS开发中,UITextView输入超出限制的文字时,在输入或删除文字是,会有跳动的现象,用户体验极差。

一、首先肯定想在UITextView的代理中修正问题,不过这是行不通的

不行


二、查看UITextView文件,发现继承至UIScrollView

是否可以在收到text变动的delegate时,我们自己将文本区域滚动到最下方,像这样:

self.contentOffset = CGPointMake(0, self.contentSize.height - self.frame.size.height);

不行


三、OK的方法 (NSLayoutManager属性)

不要相信苹果的注释,他们说默认值是NO(除此之外的注释还是要相信的)。必须要手动设置为NO,才不会跳动。

self.layoutManager.allowsNonContiguousLayout = NO;

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

你可能感兴趣的:(UITextView 输入、删除文字出现跳跃现象)