首页 > 代码库 > UIScrollView重用
UIScrollView重用
你可以参照 UITableView 的 cell 重用机制,总结重用机制如下:
维护一个重用队列
当元素离开可见范围时,removeFromSuperview 并加入重用队列(enqueue)
当需要加入新的元素时,先尝试从重用队列获取可重用元素(dequeue)并且从重用队列移除
如果队列为空,新建元素
这些一般都在 scrollViewDidScroll: 方法中完成
实际使用中,需要注意的点是:
当重用对象为 view controller 时,记得 addChildeViewController
当 view 或 view controller 被重用但其对应 model 发生变化的时候,需要及时清理重用前留下的内容
数据可以适当做缓存,在重用的时候尝试从缓存中读取数据甚至之前的状态(如 table view 的 contentOffset),以得到更好的用户体验
当 on screen 的元素数量可确定的时候,有时候可以提前 init 这些元素,不会在 scroll 过程中遇到因为 init 开销带来的卡顿(尤其是以 view controller 为重用对象的时候)
UIScrollView重用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。