在我的- (void)setObject:(id)object
方法中,有時候我會根據對象動態添加0..10個UIImageView到單元格。現在的問題是我如何從我的prepareForReuse中的單元格中移除這些UIImageView?重用三元組中的單元格
我試圖通過一個愚蠢的方式,這是從每個UIImageView標記從-1到-10,然後在我的prepareForReuse我檢查它是否存在,如果它刪除它,然後檢查下一個。有沒有比這更簡單的方法?
在我的- (void)setObject:(id)object
方法中,有時候我會根據對象動態添加0..10個UIImageView到單元格。現在的問題是我如何從我的prepareForReuse中的單元格中移除這些UIImageView?重用三元組中的單元格
我試圖通過一個愚蠢的方式,這是從每個UIImageView標記從-1到-10,然後在我的prepareForReuse我檢查它是否存在,如果它刪除它,然後檢查下一個。有沒有比這更簡單的方法?
您應該讓每個單元格都包含您想要在其自己的子類中顯示的每個圖像視圖的斑點。當您在子類中實現prepareForReuse
時,將它們全部設置爲隱藏,並在您的setObject
調用中確定哪些需要取消隱藏。
試試這個
- (void)prepareForReuse {
[super prepareForReuse];
[_photoImage unsetImage];
}
的問題是,我不知道事先我多少imageview的都會有,數量是隨機的。我知道我在我的崗位是0..10說,但它可能超過10個,因爲這是從API中提取數據,所以我從來不知道該期待多少 – adit
也許如果你可以澄清你的意思是「你想在自己的子類中顯示的每個圖像視圖」,它會使對我來說更有意義 – adit
圖像視圖包含在單元格的子類中。您只有兩個選項:1)根據需要在滾動(SLOW)上創建imageViews,或者在單元格中預先創建imageViews,並且僅在滾動(FAST,使用更多內存)時顯示/隱藏它們。相反,我會尋找設計變更,因爲在單個單元格中有10個以上的圖像項目是不好的UI – coneybeare