在IOS開發(fā)中,UITextView輸入超出限制的文字時,在輸入或刪除文字是,會有跳動的現(xiàn)象,用戶體驗極差。
一、首先肯定想在UITextView的代理中修正問題,不過這是行不通的
不行
二、查看UITextView文件,發(fā)現(xiàn)繼承至UIScrollView
是否可以在收到text變動的delegate時,我們自己將文本區(qū)域滾動到最下方,像這樣:
self.contentOffset = CGPointMake(0, self.contentSize.height - self.frame.size.height);
不行
三、OK的方法 (NSLayoutManager屬性)
不要相信蘋果的注釋,他們說默認(rèn)值是NO(除此之外的注釋還是要相信的)。必須要手動設(shè)置為NO,才不會跳動。
self.layoutManager.allowsNonContiguousLayout = NO;
這句代碼設(shè)置了 UITextView 中的 layoutManager(NSLayoutManager) 的是否非連續(xù)布局屬性,默認(rèn)是 YES,設(shè)置為 NO 后 UITextView 就不會再自己重置滑動了。