【问题标题】:How to switch programmatically to dark mode swift如何以编程方式快速切换到暗模式
【发布时间】:2020-05-27 00:04:04
【问题描述】:

如何在我的 iOS 应用中以编程方式切换到暗模式或亮模式? 我正在使用 Swift。

【问题讨论】:

标签: ios swift xcode ios-darkmode


【解决方案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) {}

方法

【讨论】:

  • 如果您需要从应用程序中即时更改它,则可以使用
  • 您能否详细说明如何在应用中使用它来动态更改为亮或暗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-05
  • 2012-06-20
  • 2011-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多