【发布时间】:2017-01-01 07:11:18
【问题描述】:
随着 iOS 10 的推出,我们似乎将拥有prefetching enabled by default on UITableView and UICollectionViews。这意味着屏幕上未显示的单元格将在用户实际看到它们之前被获取。
以下是一些相关的方法:
-
cellForRowAtIndexPath::如果单元格不可见,则返回“
nil”。 - visibleCells:每一项都代表“表格视图中的一个可见单元格”。
- indexPathsForVisibleRows:每一项都代表“表格视图中的可见行”。
- visibleCells: "返回集合视图显示的可见单元格的完整列表。"
- indexPathsForVisibleItems:每个项目代表“集合视图中的可见单元格”。
-
cellForItemAtIndexPath::如果单元格不可见,则返回“
nil”。
所有这些都在描述中特别提到“可见”。随着 iOS 10 中预取的引入,我如何区分预取的单元格和当前可见的单元格?
换句话说:
- 如何获取所有可见单元格?
- 如何获取所有已加载的单元格?
UITableView 或 UICollectionView 上似乎没有任何新的 API 可以帮助解决这个问题。
【问题讨论】:
-
iOS 10 中有一个新的协议
UITableViewDataSourcePrefetching用于UITableView。我写了一篇关于它的文章并做了一些测量:andreygordeev.com/2017/02/20/uitableview-prefetching
标签: uitableview uicollectionview uicollectionviewcell ios10