Xcode/Swift 中的颜色和主题
Posted
技术标签:
【中文标题】Xcode/Swift 中的颜色和主题【英文标题】:Colors and Themes in Xcode/Swift 【发布时间】:2016-07-17 08:39:32 【问题描述】:这是一个关于使用 Swift 和 Xcode 的一般性问题,但在我继续之前理解它对我来说非常重要。 我的应用程序对其组件使用一组特定的颜色。 示例:工具栏是黑色的。标签是白色的。按钮为绿色或蓝色。等等
-
是否有一种很好且有效的方法可以在代码中的某处定义“主题颜色”并使用这些变量而不是为每个组件单独指定特定颜色?
示例:我不会去故事板中的工具栏并选择颜色“黑色”,而是使用代码(或故事板,如果可能的话)来设置 toolbar.color -> theme.toolbars.maincolor
是否建议使用代码中的颜色而不是情节提要中的颜色?我的同事认为最好不要在代码中使用颜色,而是仅通过情节提要选择颜色。我认为这很奇怪,因为如果我需要更改主要颜色,例如,我需要浏览所有具有该颜色的情节提要项目并单独更改它们。
【问题讨论】:
归根结底,您是通过编程方式还是通过配置(故事板)进行操作并不重要,只要您的团队对解决方案感到满意即可。我个人认为在 gui 方面应该尽可能多地使用配置,因为您可以在逻辑和视图之间获得更清晰的分离。 我将需要的组件子类化,并在这些子类中设置这些属性,然后在我的故事板中使用这些属性 您可能会发现这个造型微框架很有用:StyleSheet。它不依赖于UIAppearance
,并允许定义可组合和可重用的样式。
【参考方案1】:
您可以通过使用NSUserDefaults
和UIAppearance
来做到这一点
Ray Wenderlich 有一个关于如何做到这一点的非常好的教程,可以在 here 找到。
希望这会有所帮助!
【讨论】:
以上是关于Xcode/Swift 中的颜色和主题的主要内容,如果未能解决你的问题,请参考以下文章
如何使用主题和 Theme.AppCompat.DayNight 更改操作栏中的文本颜色