我有很多不同身份值的细胞。如“棒球细胞”、“足球细胞”、“广告细胞”等。对我来说,“棒球细胞”“足球细胞”的重用是可以的。但是"AD单元“有一些动画效果,所以我不想重新加载它,如果用户滚动出。
那么,是否有办法使集合视图不重用其单元呢?
谢谢!
对不起,更新以澄清。
这里,我在集合视图中得到了一些单元格类型:
如果集合视图在每次离开屏幕时重新加载"AD单元格“,则再次可见。我停止动画并在重新加载时释放它。用户可能没有机会看到最后的广告图片。所以我需要一种方法来停止仅仅对AD细胞的重用
谢谢。
发布于 2014-10-16 03:02:18
您可以在其他实例中缓存重单元格对象,只需在UICollectionViewDataSource collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath函数中缓存,就可以自行加载单元格。不要使用dequeueReusableCellWithReuseIdentifier或dequeueReusableSupplementaryViewOfKind .But全内存管理,您应该关心。
因此,在您的示例中,您将"AD单元“缓存在另一个缓存类中,在您的UICollectionViewDataSource委托中,只需使用缓存类中的缓存单元对象。
发布于 2014-10-16 02:28:36
信息不够。
您通常希望不同的单元格标识不同类型的单元格(结构不同),但对具有相同结构的单元格使用相同的ID。这也适用于动画。
使用同一类型的多个单元而不进行回收会导致大量的“内存流失”,这是个坏主意。
一个细胞将不会被重复使用,直到它是离开屏幕,在这一点上,你应该停止动画。然后,您可以充分准备一个循环再用的细胞,包括建立一个新的动画。
https://stackoverflow.com/questions/26395172
复制相似问题