我正在尝试将表格视图中第一个单元格的背景颜色设置为蓝色,例如但它不起作用。每次我开始滚动蓝色跳转到不同的单元格。我尝试了这些代码。
- (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] ;
}
答案 0 :(得分:0)
在if ...
上添加elseif(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];
}