我有一個collectionView的單元格需要改變它的圖像和點擊時改變邊框顏色。如何在不失去選定狀態的情況下調用cellForItemAtIndexPath?
我在UICollectionViewCell的子類中重寫了setSelected:
以更改邊框顏色,並更改了cellForItemAtIndexPath
中的圖像。但是我不知道如何在選擇一個單元后讓它們都工作,在這種情況下不會調用cellForItemAtIndexPath
。如果我明確地呼叫reloadData
或reloadCellAtIndexPath
,並且我不知道是否在cellForItemAtIndexPath
中選擇了單元格。
我不想移動特定代碼cellForItemAtIndexPath
,因爲這顯然是我需要的代碼cellForItemAtIndexPath
複製到didSelectItemAtIndexPath
,我不想重複自己。
我不想添加一個屬性來保存被點擊的單元格的索引,因爲沒有必要添加這樣的參數,可以通過[collectionView indexPathsForSelectedItems]
輕鬆找到。
此外,我不想添加屬性來引用我的數據模型(其中包含圖像),因爲它很奇怪。
那麼,我應該寫所有這些在cellForItemAtIndexPath
?或者是否有任何方法直接調用cellForItemAtIndexPath
而不清除所選狀態?
這很簡單,您只需將選定狀態存儲在您的_model_中,並且您需要重新創建索引路徑的單元時,您還可以從那裏還原此類信息,旁邊的所有其他自定義您需要填充您的手機信息。 – holex