2009-08-06 84 views
1

我有用戶設置視圖,並有一個表來列出選項。UITableViewCell不保持其選定狀態

當用戶點擊單元格時,該選項被選中。

當視圖消失時,我將選項保存到屬性列表,直到它工作正常。

但是,當用戶再次來到屏幕上時,我想讓已經選擇的選項高亮顯示(選中);

我試着設置cell.selected = TRUE,並且[單元格setSelected:YES animated:YES],但單元格正在失去其選定狀態。

我可以看到選中的單元格也取消了選擇?

如何使特定單元格在視圖加載時保持其選定狀態?

回答

1

在Human Interface Guidelines中,Apple建議您不要使用「selected」代表狀態,而應使用附件視圖。

我最初忽略了這一點,但後來注意到使用selected從2.2.1到3.0(在沒有我更改任何代碼的情況下改變了行爲)有些不可預知的結果,所以我按照他們的建議去做。

0

嘗試通過indexPath在tableView上設置特定單元格的選擇,而不是直接在單元格上。

所以,你需要設置方法:

[tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone]; 

這可能工作,而不是改變細胞的狀態。 = D