iOS 13 暗模式 objc 字符串

Posted

技术标签:

【中文标题】iOS 13 暗模式 objc 字符串【英文标题】:iOS 13 dark mode objc strings 【发布时间】:2020-02-26 19:14:38 【问题描述】:

我想在我的 ios 13 应用中禁用暗模式。我不想通过 info.plist 这样做。原因是,plist 使用全局设置,使得 UIUserInterfaceStyle 也会影响早期的 iO​​S 版本(产生冲突)。我只想为 iOS 13 设置为亮!这是我的 AppDelegate 中的当前代码:

 if(@available(iOS 13, *))
    window.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;


此代码 sn-p 用于将状态栏颜色固定为亮。但应用程序中的一般字符串仍处于“暗模式”。早期的白色字符串变成黑色,我的应用程序已经很黑了。如何修复应用程序中的字符串在暗模式下不会自行更改颜色?我想要一个全局代码 sn-p 而不是遍历每个 ViewController...

问候

【问题讨论】:

“制作 UIUserInterfaceStyle 也会影响早期的 iO​​S 版本(造成冲突)”不,它不会。早期的 iO​​S 版本对这个键一无所知,所以他们只是忽略它。 【参考方案1】:

iOS 会忽略它不知道的 Info.plist 键。所以你可以在你的Info.plist 中安全地将UIUserInterfaceStyle 设置为Light,iOS 13 之前的版本会忽略这个键。

【讨论】:

【参考方案2】:

通过调用解决了问题:

    self.window.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;

【讨论】:

这与您在问题中的代码相同。为什么你说这解决了相同代码的问题?

以上是关于iOS 13 暗模式 objc 字符串的主要内容,如果未能解决你的问题,请参考以下文章

iOS 13 中的暗模式启动屏幕

是否可以在 iOS 13 上选择退出暗模式?

如何防止 iOS 13 暗模式破坏电子邮件

如何使用 SwiftUI 将应用程序采用到 iOS 13 暗模式?

如何在模拟器 iOS 12.4 中使用暗模式?

在 iOS 13 中停止更改状态栏