我有一個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
非常好的提示。我無圖像,它不會隨意出現在不需要的地方。但現在我需要重新渲染圖像。當它被選中時,我在單元格中設置了一個布爾值,但我應該在prepareForReuse中重置它。無論如何,我不確定何時可以重新繪製圖像。 – dasPing
@dasPing你可以在你的dequeueReusableCellWithReuseIdentifier實現中爲你的單元設置正確的圖像 –
@dasPing http://stackoverflow.com/questions/19269266/reused-cells-in-a-uicollectionview-show-multiple-uiimageviews-when-they - 也應該看看這個,它建議不要爲你的imageview使用addsubview –