在普通样式的UITableView中更改自定义UITableViewCell单元格的背景颜色

时间:2011-07-08 08:19:41

标签: iphone objective-c cocoa-touch uitableview

我正在尝试在简单样式的UITableView中更改自定义UITableViewCell的背景颜色。

我已经阅读了其他类似的问题,我在我的委托方法中:

- (UITableViewCell *)tableView:(UITableView *)tableView
         cellForRowAtIndexPath:(NSIndexPath *)indexPath

我设置cell.backgroundColor = [UIColor...]。问题是这仅适用于分组样式UITableView

注意:我想以编程方式而不是在我的.xib文件中执行此操作的原因是因为我需要不同单元格的不同背景颜色。

3 个答案:

答案 0 :(得分:8)

也许您可以在设置颜色之前添加cell.contentView.backgroundColor = [UIColor clearColor]

原因是backgroundview位于底部。内容视图位于顶部。

答案 1 :(得分:1)

更改以下委托方法中的颜色:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    if (...){
        cell.backgroundColor = [UIColor blueColor];
    } else {
        cell.backgroundColor = [UIColor whiteColor];
    }
}

答案 2 :(得分:0)

// set selection color
UIView *myBackView = [[UIView alloc] initWithFrame:cell.frame];

myBackView.backgroundColor = [UIColor colorWithRed:1 green:1 blue:0.75 alpha:1];

[cell.contentView addSubview:myBackView];

[myBackView release];
像这样根据需要更改每个单元格