首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从app - Swift打开系统黑暗模式

从app - Swift打开系统黑暗模式
EN

Stack Overflow用户
提问于 2019-08-29 00:19:07
回答 2查看 3.5K关注 0票数 1

我已经使用Notifications在我的应用程序上制作了自己的暗模式系统,并且我有一个开关,它在暗模式开和关之间改变。

我的第一个问题是:如何打开系统暗模式,如果通过打开开关将整个手机升级为iOS 13,那么整个手机也会变成暗模式。

我的第二个问题:如何检查是否启用了系统暗模式,以便无论何时启用iOS系统暗模式,我都可以在启用暗模式的地方启用暗模式?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-29 07:20:19

  • 第一个问题:现在不可能
  • 第二个问题: 回答 of Tamás Sengel

您应该检查UITraitCollectionUITraitCollection变量,与tvOS和macOS上的变量相同。

代码语言:javascript
复制
switch traitCollection.userInterfaceStyle {
case .light: //light mode
case .dark: //dark mode
case .unspecified: //the user interface style is not specified
}

您应该使用traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?)函数UIView/UIViewController来检测接口环境中的更改(包括用户界面样式的更改)。

来自Apple Developer文档

当iOS接口环境发生变化时,系统将调用此方法。根据应用程序的需要,在视图控制器和视图中实现此方法,以响应此类更改。例如,当iPhone从纵向旋转到横向时,您可以调整视图控制器子视图的布局。此方法的默认实现为空。

系统默认UI元素(如UITabBarUISearchBar)自动适应新的用户界面样式。

票数 1
EN

Stack Overflow用户

发布于 2020-03-25 09:00:40

代码语言:javascript
复制
  if #available(iOS 13.0, *) {
            overrideUserInterfaceStyle = .light // or .dark 
        } else {
            // Fallback on earlier versions
        }

使用此方法,您将获得光模式和暗模式,将此代码放入开关,您的视图将根据黑暗和光的外观变化。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57701467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档