我正在制作一个应用程序,其中有一些数组中的名人引用,openears
和tableView
显示所有引号。当前阅读报价将以不同于其他报价的颜色显示在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];
}
答案 0 :(得分:0)
我可能错了,但你想如何在不重新绘制细胞的情况下改变细胞外观?
如果您不想重新加载所有表,请尝试重新加载刚更改的行
- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation