我有一个自定义分组的UITableViewCell,其上有几个UILabels.由于UITableViewCell背景颜色用于纯白色,因此它符合UILabels的默认背景颜色,因此UILabel框不可见.
更新到iOS 5.0后,我注意到现在,分组的UITableViewCells的默认背景颜色是一个更灰色的白色(实际上是#f7f7f7),因此UILabels的框架以丑陋的方式可见.
那么,当需要在不同iOS版本之间变化时,设置UILabels背景颜色的最佳方式是什么?我知道我可以使用opaque = NO和[UIColor clearColor],但是由于性能原因,我更愿意绘制UILabels的背景.
解决方法
在委托方法tableView:willDisplayCell :,UITableViewCell将背景颜色设置为白色,或在iOS 5中,灰色.
您可以更改所有子视图的backgroundColor.
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { for (UIView* view in cell.contentView.subviews) { view.backgroundColor = cell.backgroundColor; } }