gpt4 book ai didi

ios - UITableViewCell 背景颜色在 iOS5 和 iOS4 中不同

转载 作者:可可西里 更新时间:2023-11-01 04:44:45 26 4
gpt4 key购买 nike

在 iOS 5 中,分组的 UITableViewCell 使用 tableCellGroupedBackgroundColor 颜色而不是常规的 whiteColor 颜色。因此,自定义单元格的背景与 UITableViewCell(默认、副标题、Value1、Value2 样式单元格)不匹配。

确保在自定义 UITableViewCell 和默认 UITableViewCell(以及关联的 UILabel 和其他元素)中使用相同背景颜色的最佳方法是什么) - w.r.t. iOS4 和 iOS5 都可以吗?

注意:在编辑器中,我可以看到名为 tableCellGroupedBackgroundColor 的新颜色,但没有可用于以编程方式获取此颜色的类别/方法。

编辑:

您可以使用以下技术更改单元格上控件的背景颜色,但如果是自定义单元格,您如何根据操作系统(iOS 4 与 iOS 5)设置合适的背景颜色?

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
for (UIView* view in cell.contentView.subviews) {
view.backgroundColor = cell.backgroundColor;
}
}

最简单的解决方案(我目前实现的):这只是确保我所有的单元格都有白色背景,而不管操作系统如何。不知何故,我不需要将白色应用于 cell.contentView.subviews

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
[cell setBackgroundColor:[UIColor whiteColor]];
}

最佳答案

这是一种快速而简单的方法,假设我们正在处理纯色背景,没有渐变或类似的东西。

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
for (UIView *subview in [cell.contentView subviews]) {
subview.backgroundColor = cell.backgroundColor;
}
}

在 iOS 5 上,它可以帮助避免难看的视线。 :)

关于ios - UITableViewCell 背景颜色在 iOS5 和 iOS4 中不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7927943/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com