2017-01-25 40 views
1

如何将Storyboard中的颜色值与不带子类的代码关联起来?将Storyboard中的颜色值与枚举或结构关联

问题是,在我们的产品中,我们有不同的品牌。所以我们有一些控件,如按钮,文本字段,按品牌颜色不同的标签。

我想我可以继承每个控件,并使用@IBInspectable从枚举中选择颜色,并且此枚举可以搜索特定的品牌颜色。但是做这项工作的地方太多了,我认为这是不可扩展的。

主要目标是有一个独特的地方来改变颜色值。现在,我们在代码和故事板视图中都有一些颜色,当颜色发生变化时,我们必须更改代码和故事板中的每个视图。

我试图找到像Android这样的xml颜色的解决方案文件

回答

2

这样做的苹果官方的方法是使用代理UIAppearance。你也可以通过UIApplication.shared()来全局设置色调颜色。delegate?.window?.tintColor = .red

+0

是的,但是你无法看到故事板中的颜色 –

+1

Android版本更适合颜色和字符串常量,但不幸的是苹果并没有在界面构建器中实现颜色和字符串变量支持。您可以在XCode中制作自定义调色板,但不能将它们用作变量。故事板是XML,因此如果您需要快速静态地重新设定主题,最快的方法就是实际查找和替换文本。我希望我有更好的答案,但这是它的工作方式。 –