簡體   English   中英

UICollectionView不重用單元格

[英]UICollectionView not to reuse cell

我有許多具有不同標識值的單元格。 例如“棒球室”,“足球室”和“ AD室”。 對我來說,重用“棒球室”“足球室”是可以的。 但是“廣告單元”上有一些動畫效果,因此如果用戶滾動出來,我不想重新加載它。

因此,有沒有一種方法可以使collectionview不重用其單元格?

謝謝!

抱歉,請更新以澄清。

在這里,我在集合視圖中找到了一些單元格類型:

  1. 棒球室:顯示棒球新聞
  2. 足球室:顯示足球新聞
  3. 廣告單元:重復顯示AD_1.jpg-> AD_2.jpg-> AD_3.jpg ...

如果收集視圖每次在屏幕外重新加載“ AD單元”,則再次可見。 然后我停止動畫並在重新加載時釋放它。 用戶可能沒有機會看到最后一張AD圖片。 所以我需要一種方法來停止僅對AD單元的重用

謝謝。

您可以在其他實例中緩存重單元對象,只需在UICollectionViewDataSource collectionView上: (UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath函數即可自行加載單元。 不要使用dequeueReusableCellWithReuseIdentifierdequeueReusableSupplementaryViewOfKind 。但是,所有內存管理都應注意。

因此,在您的情況下,您將“ AD單元”緩存在另一個緩存的類中,在UICollectionViewDataSource委托中,只需使用緩存類中的緩存的單元對象即可。

信息不足。

通常,您希望針對不同類型的單元(具有不同結構)使用不同的單元標識,但對於具有相同結構的單元則使用相同的ID。 動畫也是如此。

使用多個相同類型的電池而不進行回收會導致大量的“內存攪動”,這是一個壞主意。

除非在屏幕外,否則一個單元將無法重復使用,此時應停止動畫播放。 然后,您可以完全准備一個回收單元以供重用,包括設置新動畫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM