我正在开发一个带有UICollectionView
图库的应用。我已经创建了UICollectionViewFlowLayout
的子类,并且我启用了pageEnabled property
。
我的画廊对图像效果非常好,但每次使用图片代码更改图片时,我也会对从服务中下载的每张图片发表评论。当我从一个图像更改为下一个图像或之前的图片时,我更改了property
值,并在其custom setter
中调用方法来下载这些注释。
问题是当我继续下一张图片时,cellForItemAtIndexPath
方法被调用3次,第一次使用下一个图像信息(我需要什么),第二次使用图像我在哪里,第三次使用再次下一个图像信息(我需要什么)。如果这个图像没有太多评论,这种情况很快发生,所以没有人注意到。但是,当我改变到下一张图像时,我会在下一张图像的中间改变主意,然后回到我所在的图像。我得到的图像错误的图像评论。
如果我回到画廊,一切都会发生。
我该如何管理?可以知道细胞是否完全显示?如果我知道单元格何时完全显示,我可以调用webService方法并下载该信息。
提前致谢
答案 0 :(得分:1)
我遇到了同样的问题。只是去故事板。选择您的CollectionView然后转到 - >属性检查员 - > 取消选中 预取启用属性。解决了这个问题。
答案 1 :(得分:0)
请参阅 - collectionView:didEndDisplayingCell:forItemAtIndexPath:
您将知道何时加载了Collection中的单元格。 因此,您可以在集合视图中为已加载的单元格获取正确的注释。
希望有帮助吗?