2013-09-30 66 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