【iOS】UITextView 自动滚动(转)

此篇为转载收藏,只为以后在IOS开发中可以用得上。

原文链接为:http://note.leodev.me/2016/05/03/iOS-UITextView-Auto-Scroll/#more

今天在收到朋友的求助,帮他写个下载图片集的 Demo,要求算出总时间,传给服务器。(什么鬼需求!)

这不是重点,重点是当时心一热,给写了个 UI 效果,显示下当前进度,像这样:

【iOS】UITextView 自动滚动(转)_第1张图片

自动滚动

这个效果本来是参考 Xcode 的 Debug Area 做的,然后发现个挺逗的地方,这玩意不自动滚啊,一直在顶部。。。

【iOS】UITextView 自动滚动(转)_第2张图片

这就不对了嘛,怎么能这样呢!你得滚起来呀!

然后我就加了这么一句代码:

1

[self.textView scrollRangeToVisible:NSMakeRange(self.textView.text.length,1)];

效果是这样子的:

搞定~

拓展: 聊天室

之前看到过岛国一篇博文,讲到聊天室用 UITextView 实现会出现一个小问题,简单来讲就是使用scrollRangeToVisible:方法会导致字符串 Append 后自动滑动到底部,然后系统又自动滑动到顶部,再编辑又自动滑动到底部。。。如下图,这个动画有点醉啊。。。

【iOS】UITextView 自动滚动(转)_第3张图片

当然岛国博主很快贴出了解决方案:

self.textView.layoutManager.allowsNonContiguousLayout =NO;

效果就是这样滴:

【iOS】UITextView 自动滚动(转)_第4张图片

你可能感兴趣的:(【iOS】UITextView 自动滚动(转))