小编典典

UITableViewCell 显示白色背景,在 iOS7 上无法修改

all

我已经实现了一个自定义表格视图单元类,它继承自UITableViewCell. tableview
包含一个背景图像,所以我希望单元格的背景是透明的。在iOS7之前看起来很棒。

但是,在 iOS7 中,单元格始终以白色背景显示。


即使对于 Xcode7, 2015, storyboard 中也存在一个错误 :您必须在代码中设置单元格的背景颜色。


阅读 180

收藏
2022-07-27

共1个答案

小编典典

正如 Apple DOC 所说(UITableViewCell
类参考
):

在 iOS 7 中,单元格默认为白色背景 ;在早期版本的 iOS
中,单元格继承了封闭表格视图的背景颜色。如果要更改单元格的背景颜色,请在 tableView 委托的
tableView:willDisplayCell:forRowAtIndexPath:
方法中进行。

因此,对于我的情况,要显示具有透明背景的单元格,只需在表格视图控制器中实现委托方法,如下所示:

- (void)tableView:(UITableView *)tableView
  willDisplayCell:(UITableViewCell *)cell
forRowAtIndexPath:(NSIndexPath *)indexPath
{
  [cell setBackgroundColor:[UIColor clearColor]];
}

请注意 :正如@null 所说, “…界面生成器中似乎存在错误…”
,我不完全确定它是否确实存在错误,但似乎是因为他的评论得到了几票赞成。因此,如果您使用 IB,可能会出现问题。:)

2022-07-27