单元格背景色不同,具体取决于iOS版本(4.0到5.0)

问题描述 投票:9回答:6

我有一个自定义分组的UITableViewCell,上面有几个UILabel。由于UITableViewCell背景色过去通常是纯白色,因此与UILabels的默认背景色匹配,因此UILabel框不可见。

更新到iOS 5.0后,我注意到现在分组的UITableViewCells的默认背景颜色是更灰白的白色(实际上是#f7f7f7,结果UILabels的框架以难看的方式可见。]]

因此,当需要在不同的iOS版本之间改变UILabels的背景颜色时,最好的方法是什么?我知道我可以使用opaque = NO和[UIColor clearColor],但是出于性能方面的考虑,我更愿意绘制UILabels的背景。

我有一个自定义分组的UITableViewCell,上面有几个UILabel。由于UITableViewCell背景颜色以前是纯白色,因此与UILabels的默认背景颜色匹配,因此...

ios uitableview ios5
6个回答
4
投票

在委托方法tableView:willDisplayCell:中,UITableViewCell的背景颜色设置为白色,或者在iOS 5中为灰色。

您可以更改所有子视图的所有backgroundColor


4
投票

gcamp的答案没有问题,但是如果您希望在iOS4和iOS5上都将背景保持白色,则只需执行以下操作:


3
投票

我在分组的TableView中的自定义UITableViewCell中看到了该问题,我只是将标签背景色设置为clear,并为我修复了该问题,并且可以在iOS4和iOS5中使用。我在创建UILabel的自定义单元代码中进行了设置,如下所示:


1
投票

您可以致电:


1
投票

我所做的是在willdisplaycell中将单元格的背景色设置为[UIColor whiteColor] ...


0
投票

其使用UIColor.systemBackground,但仅适用于IOS 13所以像这样使用它:

© www.soinside.com 2019 - 2024. All rights reserved.