码迷,mamicode.com
首页 > 其他好文 > 详细

UIScrollView重用

时间:2014-12-27 11:18:59      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

你可以参照 UITableView 的 cell 重用机制,总结重用机制如下:

  • 维护一个重用队列

  • 当元素离开可见范围时,removeFromSuperview 并加入重用队列(enqueue)

  • 当需要加入新的元素时,先尝试从重用队列获取可重用元素(dequeue)并且从重用队列移除

  • 如果队列为空,新建元素

  • 这些一般都在 scrollViewDidScroll: 方法中完成

实际使用中,需要注意的点是:

  • 当重用对象为 view controller 时,记得 addChildeViewController

  • 当 view 或 view controller 被重用但其对应 model 发生变化的时候,需要及时清理重用前留下的内容

  • 数据可以适当做缓存,在重用的时候尝试从缓存中读取数据甚至之前的状态(如 table view 的 contentOffset),以得到更好的用户体验

  • 当 on screen 的元素数量可确定的时候,有时候可以提前 init 这些元素,不会在 scroll 过程中遇到因为 init 开销带来的卡顿(尤其是以 view controller 为重用对象的时候)

UIScrollView重用

标签:

原文地址:http://www.cnblogs.com/selfing/p/4188087.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!