为不工作的单元格指定颜色

时间:2013-04-03 22:13:12

标签: ios uitableview

我正在尝试将表格视图中第一个单元格的背景颜色设置为蓝色,例如但它不起作用。每次我开始滚动蓝色跳转到不同的单元格。我尝试了这些代码。

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{

if([[self.menu objectAtIndex:indexPath.row] isEqual:@"a string"]){


    cell.contentView.backgroundColor=[UIColor blueColor] ;



}

}

 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell       forRowAtIndexPath:(NSIndexPath *)indexPath
 {

if(indexPath.row==0){


    cell.contentView.backgroundColor=[UIColor blueColor] ;



}

}

我也在索引路径的cellfro行中尝试过它。我错过了什么吗?

这是我用于cellforrowatindexpath的代码:

   if(indexPath.row==0){


    cell.contentView.backgroundColor=[UIColor blueColor] ;



}

2 个答案:

答案 0 :(得分:0)

在if ...

上添加else
if(indexPath.row==0){


        cell.contentView.backgroundColor=[UIColor blueColor] ;



    }
else
 cell.contentView.backgroundColor=[UIColor whiteColor] ;

uitableviewCell正在重复使用......

答案 1 :(得分:-1)

在你的情况下,单元格会跳转颜色,因为在滚动时可以重复使用tableview中的单元格以节省内存,以避免发生任何奇怪的事情,您需要专门设置任何单元格的颜色。

你完成了第一个位,那就是当indexPath.row == 0时为单元格着色以覆盖第二部分:

您需要遵循以下模式:

if(indexPath.row == 0){
    //if its the first cell then keep it this color
    cell.contentView.backgroundColor = [UIColor blueColor];
}
else {
    //Any other cell keep it this color
    cell.contentView.backgroundColor = [UIColor whiteColor];
}