多次调用UICollectionView cellForItemAtIndexPath

时间:2014-03-21 04:01:06

标签: ios iphone objective-c uicollectionview uicollectionviewcell

我正在开发一个带有UICollectionView图库的应用。我已经创建了UICollectionViewFlowLayout的子类,并且我启用了pageEnabled property

我的画廊对图像效果非常好,但每次使用图片代码更改图片时,我也会对从服务中下载的每张图片发表评论。当我从一个图像更改为下一个图像或之前的图片时,我更改了property值,并在其custom setter中调用方法来下载这些注释。

问题是当我继续下一张图片时,cellForItemAtIndexPath方法被调用3次,第一次使用下一个图像信息(我需要什么),第二次使用图像我在哪里,第三次使用再次下一个图像信息(我需要什么)。如果这个图像没有太多评论,这种情况很快发生,所以没有人注意到。但是,当我改变到下一张图像时,我会在下一张图像的中间改变主意,然后回到我所在的图像。我得到的图像错误的图像评论。

如果我回到画廊,一切都会发生。

我该如何管理?可以知道细胞是否完全显示?如果我知道单元格何时完全显示,我可以调用webService方法并下载该信息。

提前致谢

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。只是去故事板。选择您的CollectionView然后转到 - >属性检查员 - > 取消选中 预取启用属性。解决了这个问题。

答案 1 :(得分:0)

请参阅 - collectionView:didEndDisplayingCell:forItemAtIndexPath:

您将知道何时加载了Collection中的单元格。 因此,您可以在集合视图中为已加载的单元格获取正确的注释。

希望有帮助吗?

相关问题