2009-08-10 59 views
0

Okidoke。這是我的問題:我有一系列複雜的UITableViewCells設置爲顯示新聞源(哈欠)的故事。我想要發生的事情是爲了選擇單元格背景圖像和高度而改變(作爲標記故事已被讀取的手段)。重新加載選擇的UITableViewCell

現在,在設置出隊之前,我可以用一個簡單的[self.tableView reloadData]來做到這一點。這似乎是一個沒有去與出隊細胞;重新加載表格視圖不會重新繪製單元格以匹配其更改後的狀態。

我試過了reloadRowsAtIndex-,雖然這可以工作 - 非常漂亮 - 對於用戶點擊的第一個單元格,它會在那之後變得不可思議:有時單元格會正確地重新加載,有時候不會。

很明顯,每個故事都是一個NSMutableDictionary對象。我正在使用一個NSNumber對象來跟蹤一個故事是否被讀取。

我會發布代碼,我會如果有人問,但我正在尋找一個通用的解決方案,可以在任何UITableViewController(共享愛)中實現。

所以,簡單地說:如何可靠地重繪複雜的單元格選擇?

回答

0

先給每個單元的唯一ID,以便出列的工作,你的細胞應該與他們改變了狀態會回來,如果你使用一個唯一的ID爲每個小區,所以20個細胞= 20個IDS,希望這有助於

0

假設你有索引的路徑,你可以訪問該小區,並直接修改即可:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    // handle the selection... 

    UITableViewCell *cell = [tableView cellForRowAtIndexPath: indexPath]; 
    if (nil != cell) { 
    // 
    // now update the cell to reflect the new state 
    // 
    } 
} 
+0

謝謝,丹尼爾和dmercredi - 兩者。我在我的應用程序的不同地方爲您的每個解決方案找到了一個地方。 – nzeltzer 2009-08-13 19:50:02

相關問題