0

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

我注意到更改 cellForRowAtIndexPath 中单元格的背景颜色对普通样式单元格没有任何作用,尽管它在组单元格上工作正常。

谁能解释设计决策?

尽管如此,更改 cell.contentView 的背景颜色也有效。

注意:我知道简单地放置 UIView 并在我们的自定义 TableView Cell 上设置背景。我问为什么而不是问如何解决它。

4

1 回答 1

0

似乎苹果用表格的背景覆盖了背景。

要真正改变背景,我们需要在覆盖之后这样做,这意味着:

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

我试过了,它有效。

于 2012-12-03T05:09:49.433 回答