我有一个自定义分组的UITableViewCell,上面有几个UILabel。由于UITableViewCell背景色过去通常是纯白色,因此与UILabels的默认背景色匹配,因此UILabel框不可见。
更新到iOS 5.0后,我注意到现在分组的UITableViewCells的默认背景颜色是更灰白的白色(实际上是#f7f7f7,结果UILabels的框架以难看的方式可见。]]
因此,当需要在不同的iOS版本之间改变UILabels的背景颜色时,最好的方法是什么?我知道我可以使用opaque = NO和[UIColor clearColor],但是出于性能方面的考虑,我更愿意绘制UILabels的背景。
我有一个自定义分组的UITableViewCell,上面有几个UILabel。由于UITableViewCell背景颜色以前是纯白色,因此与UILabels的默认背景颜色匹配,因此...
在委托方法tableView:willDisplayCell:
中,UITableViewCell
的背景颜色设置为白色,或者在iOS 5中为灰色。
您可以更改所有子视图的所有backgroundColor
。
gcamp的答案没有问题,但是如果您希望在iOS4和iOS5上都将背景保持白色,则只需执行以下操作:
我在分组的TableView中的自定义UITableViewCell中看到了该问题,我只是将标签背景色设置为clear,并为我修复了该问题,并且可以在iOS4和iOS5中使用。我在创建UILabel的自定义单元代码中进行了设置,如下所示:
您可以致电:
我所做的是在willdisplaycell中将单元格的背景色设置为[UIColor whiteColor] ...
其使用UIColor.systemBackground
,但仅适用于IOS 13所以像这样使用它: