如何反转状态栏的明暗内容以适应Xcode中的暗模式

时间:2019-11-24 01:30:28

标签: ios swift xcode ios-darkmode

我正在尝试为我的应用设置暗模式,但是注意到我的状态栏是应该显示的相反颜色。处于亮模式时,它是黑暗的;当处于黑暗模式时,它是明亮的。

此处为亮模式(状态栏显示错误的深色) Here it is in light mode (showing wrong dark colors for status bar)

这里处于黑暗模式(状态栏显示错误的浅色)

enter image description here

理想情况下,我想反转这些状态栏颜色,以便在亮模式下状态栏为浅(白色),而在暗模式下状态栏为暗(黑色)。

我们将非常感谢您的帮助,并感谢您!

1 个答案:

答案 0 :(得分:1)

如果要对状态栏进行自定义控制,则可以手动设置状态栏样式。在视图控制器中覆盖preferredStatusBarStyle

class MyViewController: UIViewController {
    override var preferredStatusBarStyle: UIStatusBarStyle {
        switch traitCollection.userInterfaceStyle { // Light Mode vs. Dark Mode
        case .light:       return .lightContent
        case .dark:        return .darkContent
        case .unspecified: return .darkContent // <-- should never happen
        }
    }
}

有关其他详细信息,请参见userInterfaceStylepreferredStatusBarStylepreferredStatusBarStyle is not working