全局更改 TableView 单元格标签的 highlightTextColor?

Posted

技术标签:

【中文标题】全局更改 TableView 单元格标签的 highlightTextColor?【英文标题】:Change TableView cell labels' highlightedTextColor globally? 【发布时间】:2015-02-12 20:18:00 【问题描述】:

我有一个相当大的 ios 应用程序,其中包含几十个子类 TableView,现在我的老板说他想更改整个应用程序中突出显示的行的文本颜色。

根据this SO answer,方法是更改​​表格单元格的每个textLabel 中的highlightedTextColor 属性。但是对于我的应用程序,我们谈论的是每种单元格类型有 2-3 个标签,以及几十个表格。我显然可以手动更改每一个,分别为每个 tableView 的每个标签添加行,但我不希望未来的考古学家在我的办公桌上发现蜘蛛网覆盖的骨架。

是否可以更改全局设置以更改整个应用程序的默认 highlightedTextColor?我很乐意更改我想要更改的内容并处理任何问题,而不是经历并添加三个版本的

cell.firsttextLabel.highlightedTextColor = [UIColor whateverColorMyBossWantsNowColor];

应用程序中的每个tableView:cellForRowAtIndexPath: 方法...

【问题讨论】:

您是否为这些单元格使用自定义类?您不应该在各种 cellForRowAtIndexPath 方法中手动添加标签。 我确实有自定义单元格,但它们已经正常工作了。选择行时默认单元格不会更改其文本颜色,因此我希望有一个可以更改的默认设置来解决所有默认样式单元格的问题。 尝试使用外观代理设置表格单元格中所有标签的文本颜色。 不要对所有标签都这样做。使用appearanceWhenContainedIn 将其限制为表格单元格。 【参考方案1】:

问题解决了!根据 rmaddy 的评论,我只是把

[[UILabel appearanceWhenContainedIn:UITableViewCellStyleDefault, UITableViewCellStyleSubtitle, nil] setHighlightedTextColor:[UIColor whiteColor]];

进入AppDelegate方法application:didFinishLaunchingWithOptions:,好像已经修复了!

我在外观代理方面没有太多经验,但我现在肯定会调查它们!

【讨论】:

以上是关于全局更改 TableView 单元格标签的 highlightTextColor?的主要内容,如果未能解决你的问题,请参考以下文章

更改 tableView 单元格的高度不起作用

Swift:使用 tableView DidSelect 方法更改单元格的 UIButton 图像

UIButton 在 TableView 单元格中不可见

如何在表格单元格中自动更改标签的大小?

在 didSelectRowAtIndexPath 上更改 iPhone 表格视图单元格标签文本

如何根据单元格数量更改滚动视图大小?