在UICollectionView上禁用单元重用

时间:2012-11-14 16:56:27

标签: ios objective-c uicollectionview uicollectionviewcell

我在我的应用程序中使用UICollectionView,在单个单元格上使用手势识别器,允许用户“滑动打开”单元格以显示下面的更多数据。

问题是,我经常在CollectionView中重新加载数据;因为应用程序每3秒钟左右收到一次更新。当细胞处于滑动过程中时,这会导致不需要的行为,同时可以重复使用集合视图单元。

用户将开始滑动单元格,应用程序将收到更新,重新加载数据,而另一个单元格将开始接收手势,并开始滑动。

我已经尝试在幻灯片发生时禁用应用程序的更新,但这会在应用程序中引起其他并发症,所以我想知道是否有办法禁用单元格重用,(我最多只有20个单元格,所以我不认为会有大幅下降的表现。)

谢谢!

2 个答案:

答案 0 :(得分:3)

如果有新数据可用,为什么不使用needsReload这样的标志并设置它?在幻灯片后,检查该标志并重新加载collectionView,如果需要的话?这不起作用吗?

如果您不想重复使用单元格,只需使用默认的scrollView并将所有视图放入其中!?

答案 1 :(得分:-5)

禁用重用很简单。只是不要使用dequeueReusableCell方法。 而只是分配,初始化你的细胞。尽管如此,我会小心这样做的表现和记忆含义......