【发布时间】:2017-05-21 09:09:23
【问题描述】:
我有一个UICollectionView,它显示单元格,其中部分包含我需要从服务器获取的图像。在cellForItemAt 中,我检查我的缓存以查看图像是否可用,如果不可用,则调用方法下载图像。
在该方法中,我异步加载图像。下载图像后,我检查与该图像关联的 indexPath 是否可见。如果是这样,我会调用 reloadItems 来更新显示。
问题是我可以在模拟器上看到空单元格,但它不是在可见单元格数组中。
这是一个显示问题的最小 sn-p。
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell: ThumbCell = collectionView.dequeueReusableCell(withReuseIdentifier: kReuseId, for: indexPath) as! PosterThumbCell
print("cellforItemAt: \(indexPath)")
print("visibleItems: \(collectionView.indexPathsForVisibleItems)")
...
return cell
}
现在我希望 indexPath 位于可见项数组中。但事实并非如此。在项目被视为可见之前是否必须发生某些事件?我错过了什么?
【问题讨论】:
标签: ios swift uicollectionview