滚动时编辑UITableViewCell属性

时间:2013-09-30 11:32:16

标签: objective-c uitableview

我正在制作一个应用程序,其中有一些数组中的名人引用,openearstableView显示所有引号。当前阅读报价将以不同于其他报价的颜色显示在tableview中。我尝试使用cellForRowAtIndexPath中的以下函数,但单元格的颜色保持不变,除非用户将其滚动出来然后返回到视图。但我需要自动设置颜色,同时所有其他单元格应恢复为初始(白色)颜色。有没有什么方法可以实现这个目标?我不想每次都重新加载表来实现这一点。

if ([[arrayOfQuoteIds objectAtIndex:indexPath.row]intValue] == currentQuoteId) {
        cell.backgroundColor = [self colorWithHexString:@"D3FFFF"];
        cell.contentView.backgroundColor = [self colorWithHexString:@"D3FFFF"];
        cell.textLabel.backgroundColor = [self colorWithHexString:@"D3FFFF"];
        cell.detailTextLabel.backgroundColor = [self colorWithHexString:@"D3FFFF"];
        cell.accessoryView.backgroundColor = [self colorWithHexString:@"D3FFFF"];
    }
    else {
        cell.backgroundColor = [UIColor whiteColor];
        cell.contentView.backgroundColor = [UIColor whiteColor];
        cell.textLabel.backgroundColor = [UIColor whiteColor];
        cell.detailTextLabel.backgroundColor = [UIColor whiteColor];
        cell.accessoryView.backgroundColor = [UIColor whiteColor];
    }

1 个答案:

答案 0 :(得分:0)

我可能错了,但你想如何在不重新绘制细胞的情况下改变细胞外观?

如果您不想重新加载所有表,请尝试重新加载刚更改的行

- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation