我正在开发一个iOS应用程序,在应用程序的设置内,我将允许用户有亮或暗模式。这款应用在默认情况下会是浅色模式,但如果用户将其改成暗色模式,它就会改变标签/背景/按钮等。
我计划通过将亮或暗模式存储在共享默认值中来实现这一点,当页面加载时,我将检查这一点。
如果是dark模式,我知道我可以在ViewDidLoad()中根据需要更改颜色,但这似乎是太多的工作。我这里有我需要的一套颜色:
我知道我可以把标签设置成这个特定的颜色,如果我想这样的话...
但我相信这是由设备级别的暗/亮模式设置控制的。如果有一种方法我可以创建一个模板来控制颜色?我确信我可以创建一个函数来调整所有东西的颜色,但必须为所有东西创建一个出口会随着时间的推移而变得混乱。
有什么提示吗?
我在IOS-13之前建立了一个明暗模式的应用程序,下面是我们使用的
这两种选择都不太好。然而,如果你的iOS最低版本是13或更高,更好的选择是添加本地暗模式支持使用自适应和语义颜色。然后,您应该能够在应用程序中添加一个UI控件,该控件在每个视图或每个视图控制器的基础上设置overrideUserInterfaceStyle。