簡體   English   中英

單元被過度使用

[英]Cell is being overzealously reused

我有一個UICollectionViewController和一些單元格(UICollectionViewCell)。 我想在某些單元格上繪制圖像。 這可以正常工作,但是當我滾動時,某些單元格似乎正在被不必要地重用,換句話說,我沒有顯式繪制的單元格正在被繪制(僅在滾動之后)。

在我的單元格中,請執行以下操作:

imageView = UIImageView(frame: CGRectMake((self.bounds.size.width/4)-1, (self.bounds.size.height/4)-1, 30, 30));
imageView!.image = imageTick
self.addSubview(self.lblDay)
self.addSubview(imageView!)

我創建一個圖像視圖並設置其圖像,然后添加標簽和圖像視圖。

有人看到我在做什么錯嗎?

僅出於完整性考慮,這就是我如何初始化單元格的圖像:

let imageTick:UIImage = UIImage(named: "star")!
var imageView:UIImageView? = nil

UICollectionViewCell被系統重用,因此您需要通過清除單元格中的所有內容(將圖像設置為nil等)來處理UICollectionViewCellprepareForReuse方法中單元格被重用的可能性。

這是UICollectionReusableView的文檔,該文檔聲明

這是UICollectionView的文檔,您可以在該文檔中看到方法dequeueReusableCellWithReuseIdentifier:forIndexPath:如果有可用的單元格,它將討論調用prepareForReuse

暫無
暫無

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

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