不同的单元格bg颜色取决于iOS版本(4.0到5.0)

我有一个自定义分组的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;
    }
}

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...