Okay I'm losing my mind here. Here is how my code is:
.plist
<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>
Overrides
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
}
I have went as far as crying for an update:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
setNeedsStatusBarAppearanceUpdate()
}
I know this has been asked and answered before and I have went through most if not all the answers on the platform and none could help. I don't know what to do anymore. Please help :(
Oh I tried this too
navigationController?.navigationBar.barStyle = .black
None of the override methods get invoked. THANK YOU