2009-08-10 68 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

相关问题