【发布时间】:2014-06-18 06:26:03
【问题描述】:
我想为我的 iOS 项目定义一个配色方案,以便于替换某些颜色。假设我有一个“主要”颜色和一个“次要”颜色,在我的应用程序的许多元素中使用,将来我可能想将“主要”颜色设置为它当前拥有的任何其他值。
到目前为止,我一直在使用自定义 UIColor 类别在代码中定义和使用我的颜色,并创建具有相同颜色的调色板以在 IB 和 Storyboards 中使用它。
这样,在代码中替换颜色非常简单,但是在 IB 和 Storyboard 中这样做非常痛苦……我没有找到查找/替换颜色的简单方法。 p>
知道如何做到这一点吗?我愿意接受任何建议。提前谢谢你
编辑 1: 问题可能不够清楚。我想创建一个方案,例如我可以在代码和 IB 中使用它,但只定义一次颜色,并且能够以代码和 IB 中引用的颜色相应更改的方式切换颜色。
【问题讨论】:
-
听起来你想看看
UIAppearance。它允许您更改整个应用程序的外观(例如颜色和色调)。唯一的缺点是主题在 IB 中不可见。 -
@David 我知道 UIAppearance 功能,我将它与我的 UIColor 类别结合使用。正如您所提到的,我不知道如何在 IB 和 Storyboards 中做类似的事情。
-
我认为没有办法。您可能能够解析 .storyboard 文件(它只是复杂的 xml)和/或使用脚本对其进行修补。
-
我查看了该文件,至少寻找 RGB、HEX 或类似代码,但我发现在 .storyboard 文件中,颜色是用红色、绿色、蓝色和 alpha 的浮点值描述的,或白色和 alpha,取决于您在 IB 中如何定义它们。你知道,这只是一场噩梦!
-
对我来说看起来像是 XSLT 的工作 :)