我已经实现了一个自定义表格视图单元类,它继承自UITableViewCell. tableview 包含一个背景图像,所以我希望单元格的背景是透明的。在iOS7之前看起来很棒。
UITableViewCell
但是,在 iOS7 中,单元格始终以白色背景显示。
即使对于 Xcode7, 2015, storyboard 中也存在一个错误 :您必须在代码中设置单元格的背景颜色。
正如 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,可能会出现问题。:)