如何以编程方式快速切换到暗模式

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】:

可以使用其中一种观察方式,例如Defaultslib,然后添加

window.overrideUserInterfaceStyle = .dark

func scene(_scene: UIScene, willConnectTo session: UISceneSession, 选项 connectionOptions: UIScene.ConnectionOptions)

方法

【讨论】:

如果您需要从应用程序中即时更改它,则可以使用 您能否详细说明如何在应用中使用它来动态更改为亮或暗?

以上是关于如何以编程方式快速切换到暗模式的主要内容,如果未能解决你的问题,请参考以下文章

暗模式不会在 Xcode 中切换到暗模式背景

按钮在切换到暗/亮模式时更改 CSS 样式

如何以编程方式将窗口从全屏切换到正常模式?

如何以编程方式布局在不同“模式”之间切换的应用程序?

以编程方式快速切换视图

以编程方式在 iOS 中切换 AirPlane 模式