如何以编程方式快速切换到暗模式
Posted
技术标签:
【中文标题】如何以编程方式快速切换到暗模式【英文标题】:How to switch programmatically to dark mode swift 【发布时间】:2020-05-27 00:04:04 【问题描述】:如何在我的 ios 应用中以编程方式切换到暗模式或亮模式? 我正在使用 Swift。
【问题讨论】:
***.com/questions/57701467/… 很有可能。见下文。 ...假设您的意思是“为您的应用程序”而不是系统设置。 【参考方案1】:您可以使用overrideUserInterfaceStyle
属性覆盖单个视图或视图控制器的样式。但由于窗口也是一个视图,因此您可以在主窗口上设置它以强制其进入明暗模式:
window.overrideUserInterfaceStyle = .dark
【讨论】:
仅供参考:如果将视图控制器添加到导航控制器中,则必须设置此属性的是后者。dummyNavigation.overrideUserInterfaceStyle = .light/.dark
未定义窗口
要覆盖整个应用程序,您应该可以使用 UIWindow().overrideUserInterfaceStyle = UIUserInterfaceStyle.light
@JorgeZapata 只是为了澄清,这不会做任何事情。 (它将覆盖应用到未使用的 UIWindow 实例。)调用者应该从当前场景中获取窗口(如果可用),这通常是但不总是 UIApplication 的 connectedScenes 中的第一个场景。干杯。【参考方案2】:
可以使用其中一种观察方式,例如Defaults
lib,然后添加
window.overrideUserInterfaceStyle = .dark
到
func scene(_scene: UIScene, willConnectTo session: UISceneSession, 选项 connectionOptions: UIScene.ConnectionOptions)
方法
【讨论】:
如果您需要从应用程序中即时更改它,则可以使用 您能否详细说明如何在应用中使用它来动态更改为亮或暗?以上是关于如何以编程方式快速切换到暗模式的主要内容,如果未能解决你的问题,请参考以下文章