iPad 检测用户是不是启用了暗模式,但不支持暗模式

Posted

技术标签:

【中文标题】iPad 检测用户是不是启用了暗模式,但不支持暗模式【英文标题】:iPad detect if the user has Dark Mode enabled, without supporting Dark ModeiPad 检测用户是否启用了暗模式,但不支持暗模式 【发布时间】:2020-05-01 17:30:45 【问题描述】:

我正在开发一款 iPad 应用。我想知道用户是否开启了深色模式,但实际上并不支持深色模式。

当我的 iPad 处于深色模式时,我向操作系统询问 userInterfaceStyle,它总是返回 1(浅色模式)。

在我的info.plist 中,我将User Interface Style 设置为Light。当我删除这个值时,向操作系统询问userInterfaceStyle,我得到了正确的值。

我知道我们应该“只是支持它”,但是我需要证据证明用户确实在使用它,然后我才能分配完成任务所需的资源。

【问题讨论】:

【参考方案1】:

当您设置info.plist 键时,样式将在系统级别被覆盖,您的应用将永远不会收到用户的设置。

或者,您可以删除 plist 键,而是在主窗口中设置 overrideUserInterfaceStyle。该窗口的所有子视图都将以浅色呈现,但您应该能够检查系统样式。

顺便说一句,我认为现在很多用户都在使用暗模式,所以这可能是值得的。

【讨论】:

以上是关于iPad 检测用户是不是启用了暗模式,但不支持暗模式的主要内容,如果未能解决你的问题,请参考以下文章

如何检测浏览器是不是支持暗模式

检测编译器是不是正在使用 ccache

有没有办法检测移动设备是不是启用了 JavaScript 的定位服务?

检测 iPhone/iPad/iPod touch 的颜色?

检测 iPhone/iPad/iPod touch 的颜色?

TailwindCSS - 在“浅色”、“深色”或“系统设置”之间切换颜色主题