7
我經常需要表視圖細胞設置爲我使用下面的代碼的初始選擇的狀態:選擇一個表格視圖細胞編程:selectRowAtIndexPath VS的setSelected
[self.tableView selectRowAtIndexPath:indexPath
animated:NO scrollPosition:UITableViewScrollPositionNone];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
[cell setSelected:YES];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
我使用selectRowAtIndexPath:indexPath
和setSelected:YES
在同一時間,因爲我不完全理解哪種方法是以編程方式選擇單元格的首選方式。
我應該使用哪一個陳述,爲什麼?
謝謝@Nicky!在使用'selectRowAtIndexPath:animated:scrollPosition:'後,我會重新加載表格並根據單元格的選擇狀態('isSelected')在'cellForRowAtIndexPath'中設置複選標記? – AlexR 2013-02-17 11:54:42
嗯,我通常在一個單獨的屬性中存儲帶勾號的項目,感覺更加明確。因此,在'tableView:didSelectRowAtIndexPath:'中,您執行以下操作:重新加載兩行,一行先選中標記,一位用戶單擊(沒有動畫),選擇單擊行(也沒有動畫),然後取消選擇動畫,一個很好的視覺效果。全部通過調用表視圖的方法來完成。 – Nicky 2013-02-17 12:02:23
需要額外選擇,因爲細胞在重新加載後會丟失。你可以在那裏設置附件類型,沒有重新加載/選擇就可以,但是我不想複製單元配置邏輯的任何部分。誰知道,也許明天我會用花哨的自定義選項標記或其他瘋狂的東西:) – Nicky 2013-02-17 12:07:26