文章目录
简述
TableView主要是为了减少内存的使用,其实现效果和scrollView类似,会将一个个的图像保存为多个cell,在cell不显示的时候,将其会受到缓存中,当滑动到可显示的时候,再从缓存中读取出来。
主要变量
_indices 存储可见范围内cell的索引
_vordering 从上到下或者从下到上
_isUsedCellsDirty 排序脏标记
_cellsUsed 存储正在使用的cell
_cellsFreed 存储不显示的cell
主要方法
setVerticalFillOrder
设置cell的排列方式
- 对cell的排列方式重新设置
- 如果cellsUsed不是空的就调用reloadData
reloadData
重新加载数据来刷新视图
- 重置位置
- 遍历cellsUsed中的cell
- 调用回收cell的自定义回调函数
- 将cell放入缓存容器中
- cell的位置索引设为-1
- 从当前容器中移除当前遍历到的cell
- 清理视图内的cell索引
- 清理存储可视范围内cell的容器
- 刷新cell的位置
- 刷新容器的尺寸
- 调用拖动的回调