[英]UICollectionView not to reuse cell
我有许多具有不同标识值的单元格。 例如“棒球室”,“足球室”和“ AD室”。 对我来说,重用“棒球室”“足球室”是可以的。 但是“广告单元”上有一些动画效果,因此如果用户滚动出来,我不想重新加载它。
因此,有没有一种方法可以使collectionview不重用其单元格?
谢谢!
抱歉,请更新以澄清。
在这里,我在集合视图中找到了一些单元格类型:
如果收集视图每次在屏幕外重新加载“ AD单元”,则再次可见。 然后我停止动画并在重新加载时释放它。 用户可能没有机会看到最后一张AD图片。 所以我需要一种方法来停止仅对AD单元的重用
谢谢。
您可以在其他实例中缓存重单元对象,只需在UICollectionViewDataSource collectionView上: (UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
函数即可自行加载单元。 不要使用dequeueReusableCellWithReuseIdentifier
或dequeueReusableSupplementaryViewOfKind
。但是,所有内存管理都应注意。
因此,在您的情况下,您将“ AD单元”缓存在另一个缓存的类中,在UICollectionViewDataSource
委托中,只需使用缓存类中的缓存的单元对象即可。
信息不足。
通常,您希望针对不同类型的单元(具有不同结构)使用不同的单元标识,但对于具有相同结构的单元则使用相同的ID。 动画也是如此。
使用多个相同类型的电池而不进行回收会导致大量的“内存搅动”,这是一个坏主意。
除非在屏幕外,否则一个单元将无法重复使用,此时应停止动画播放。 然后,您可以完全准备一个回收单元以供重用,包括设置新动画。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.