[英]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等)來處理UICollectionViewCell
的prepareForReuse
方法中單元格被重用的可能性。
這是UICollectionReusableView的文檔,該文檔聲明
這是UICollectionView的文檔,您可以在該文檔中看到方法dequeueReusableCellWithReuseIdentifier:forIndexPath:
如果有可用的單元格,它將討論調用prepareForReuse
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.