2013-09-30 34 views
0

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

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

我可能是错的,但是如何在不重绘细胞的情况下实现细胞外观的改变?

如果您不想重装所有的表尝试重新加载只是改变了行

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