使用 TabbarViewController 未调用 preferredStatusBarStyle

问题描述

我有一个具有不同视图的 TabbarViewController,问题是:

 override var preferredStatusBarStyle: UIStatusBarStyle {
          return .lightContent
      }

未在任何视图中调用

我尝试添加

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

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

没什么变化,我应该在其他地方调用这个扩展方法吗?

解决方法

您可以尝试添加到 Info.plist 中,期望添加一些代码。

enter image description here

您基本上可以将其添加到您的 Info.plist

,

我必须创建一个 UInavigation Controller 类,然后将这些方法添加到该类中,然后它才能开始工作。

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