此篇为转载收藏,只为以后在IOS开发中可以用得上。
原文链接为:http://note.leodev.me/2016/05/03/iOS-UITextView-Auto-Scroll/#more
今天在收到朋友的求助,帮他写个下载图片集的 Demo,要求算出总时间,传给服务器。(什么鬼需求!)
这不是重点,重点是当时心一热,给写了个 UI 效果,显示下当前进度,像这样:
![](https://img.haomeiwen.com/i2706685/c99ad26ca84355f8.png)
这个效果本来是参考 Xcode 的 Debug Area 做的,然后发现个挺逗的地方,这玩意不自动滚啊,一直在顶部。。。
![](https://img.haomeiwen.com/i2706685/fb5ddf0baf5819c5.gif)
这就不对了嘛,怎么能这样呢!你得滚起来呀!
然后我就加了这么一句代码:
1
[self.textView scrollRangeToVisible:NSMakeRange(self.textView.text.length,1)];
效果是这样子的:
![](https://img.haomeiwen.com/i2706685/1c60fa4a575fd085.gif)
搞定~
之前看到过岛国一篇博文,讲到聊天室用 UITextView 实现会出现一个小问题,简单来讲就是使用scrollRangeToVisible:方法会导致字符串 Append 后自动滑动到底部,然后系统又自动滑动到顶部,再编辑又自动滑动到底部。。。如下图,这个动画有点醉啊。。。
![](https://img.haomeiwen.com/i2706685/70365102fd2d0c3c.gif)
当然岛国博主很快贴出了解决方案:
self.textView.layoutManager.allowsNonContiguousLayout =NO;
效果就是这样滴:
![](https://img.haomeiwen.com/i2706685/a662a8a3dd65e0b0.gif)
网友评论