如何在黑暗模式下单击按钮使状态栏文本颜色变暗?

时间:2019-12-17 09:44:56

标签: ios swift xcode ios13 ios-darkmode

当我在普通模式下单击Default按钮状态栏样式更改.black时 但是,当我启用Dark Mode时,状态栏会自动变为白色,并且不会变回原来的状态

我放置了单独的代码以再次对其进行更改,但是它不起作用

enter image description here

这是我的代码

@objc func defaultbutton()
{
    if #available(iOS 13.0, *)
    {
        if traitCollection.userInterfaceStyle == .dark
        {
            self.setNeedsStatusBarAppearanceUpdate()
            self.navigationController?.navigationBar.barStyle = .black                               
            print("status bar style changing is failing everytime it's enterng here")
        }
        else
        {
            self.navigationController!.navigationBar.barStyle = .default
        }
    }
 }

1 个答案:

答案 0 :(得分:0)

您可以在preferredStatusBarStyle中覆盖viewController属性,以在暗模式下将状态栏颜色更改为暗。

override  open var preferredStatusBarStyle: UIStatusBarStyle {
    get {
        if traitCollection.userInterfaceStyle == .dark {
            return UIStatusBarStyle.darkContent
        } else {
            return UIStatusBarStyle.default
        }
    }
}