Ios6 从nib加载的UITableView单元格未显示背景色

Ios6 从nib加载的UITableView单元格未显示背景色,ios6,uitableview,Ios6,Uitableview,我正在从UITableViewController中的nib文件加载UITableView单元格,并且未显示我在Interface Builder中设置的背景色。为什么不呢?您应该使用tableView:willDisplayCell:forRowAtIndexPath:来设置背景色,正如苹果公司在: 表视图在绘制行之前向其委托发送一条tableView:willDisplayCell:forrowatinexpath:消息。如果代理选择实现此方法,则可以在显示单元格对象之前在最后一分钟对其进行

我正在从UITableViewController中的nib文件加载UITableView单元格,并且未显示我在Interface Builder中设置的背景色。为什么不呢?

您应该使用
tableView:willDisplayCell:forRowAtIndexPath:
来设置背景色,正如苹果公司在:

表视图在绘制行之前向其委托发送一条
tableView:willDisplayCell:forrowatinexpath:
消息。如果代理选择实现此方法,则可以在显示单元格对象之前在最后一分钟对其进行更改。使用此方法,代理应仅更改表视图先前设置的基于状态的属性,例如选择和背景色,而不更改内容

此代码具有交替的“斑马条纹”效果:


唯一让人想到的是,它的子视图可能是不透明的?我以前犯过这个错误。我检查过,他们没有。我继续在nib中使单元格背景颜色清晰,并更改了tableview的背景颜色,这很有效,但我真的希望能够有不同颜色的单元格。这个解决方案只有当它们都有相同的颜色时才有效。。。还有什么其他想法吗?尝试在所有其他视图下添加一个视图到单元格,并在其中设置背景色。这样,每个单元格就可以有你想要的任何颜色。
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath.row % 2 == 0) {
        UIColor *altCellColor = [UIColor colorWithWhite:0.7 alpha:0.1];
        cell.backgroundColor = altCellColor;
    }
}