改变目标C中每个其他单元格的背景颜色

时间:2012-10-02 08:07:54

标签: objective-c ios ios5 uitableview

我有一个uiTableView。我希望每个其他单元格获得另一种背景颜色。我这样试试。但它不会起作用。有人有线索吗?

 if(indexPath.row % 2 == 0){
        cell.backgroundColor = [UIColor whiteColor];
    }else{
        cell.backgroundColor = [UIColor blueColor];
    }

亲切的问候,

燕姿

3 个答案:

答案 0 :(得分:7)

您可以在cell.contentView.backgroundColor

中使用:cell.backgroundColor代替tableView:cellForRowAtIndexPath:

或者:(来自Apple文档)

  

注意:如果要更改单元格的背景颜色(通过设置)   通过backgroundColor属性的单元格的背景颜色   由UIView声明)你必须在   tableView:willDisplayCell:forRowAtIndexPath:委托的方法   而不是在tableView:cellForRowAtIndexPath:数据源。   在组样式表视图中更改单元格的背景颜色   在iOS 3.0中有效,与以前的版本不同   操作系统。它现在影响圆形内部的区域   矩形而不是它之外的区域。

答案 1 :(得分:0)

cell.backgroundView=[[UIView alloc]initWithFrame:cell.frame];
[cell.backgroundView setBackgroundColor:[UIColor blueColor]];

将完成这项工作或

[cell.contentView setBackgroundColor:[UIColor blueColor]];

答案 2 :(得分:0)

要回答评论中的扩展问题,请将标签的背景颜色设置为label.backgroundColor = [UIColor clearColor];