不同的单元格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;
    }
}

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...