PreferredStatusBarStyle未调用

时间:2019-01-08 10:40:46

标签: ios swift

好的,我在这里迷失了方向。这是我的代码:

.plist

<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>

替代

extension UINavigationController {
    open override var childForStatusBarStyle: UIViewController? {
        return topViewController
    }

    open override var childForStatusBarHidden: UIViewController? {
        return topViewController
    }

    open override var preferredStatusBarStyle: UIStatusBarStyle {
        return topViewController?.preferredStatusBarStyle ?? .default
    }
}

extension UITabBarController {
    open override var childForStatusBarStyle: UIViewController? {
        return children.first
    }

    open override var childForStatusBarHidden: UIViewController? {
        return children.first
    }
}

ViewController

override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

我甚至哭着要更新:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    setNeedsStatusBarAppearanceUpdate()
}

我知道之前已经有人问过并回答过这个问题,而且我在该平台上已经完成了大部分(如果不是全部)答案,没有一个可以帮助您。我不知道该怎么办了。 请帮助:(

哦,我也尝试过

navigationController?.navigationBar.barStyle = .black

没有任何覆盖方法被调用。 谢谢

1 个答案:

答案 0 :(得分:0)

请尝试此操作,它将对您有所帮助。 在AppDelegate类didFinishLaunchingWithOptions方法中编写此代码。

UIApplication.shared.statusBarStyle = UIStatusBarStyle.lightContent

它可以帮助您谢谢您。