我跟着这个线程来覆盖-preferredStatusBarStyle,但它没有被调用.我可以更改任何选项以启用它吗?(我在我的项目中使用XIB.)
我正在我的模拟器中使用深色背景的单视图应用程序。它是一个封装在 UINavigationController 中的 UIViewController。
在我的视图控制器中,我有 override var preferredStatusBarStyle: UIStatusBarStyle { .lightContent }
在我的 info.plist 我有 View controller-based status bar appearance = YES
然而,当我运行它时,它显示白色一秒钟,然后跳转到黑色文本。
这里发生了什么?有解决办法吗?
编辑:我试过.default,.lightContent而且.darkContent只是可以肯定,没有什么作品
UITabBar我的应用程序中有多个,有些ViewController具有白色状态栏,有些ViewController具有黑色状态栏。
我的 info.plist
View controller-based status bar appearance 到 YES
我的 Viewcontroller 有以下代码。
override var preferredStatusBarStyle: UIStatusBarStyle {
return .default //or return . lightContent
}
Run Code Online (Sandbox Code Playgroud)
但preferredStatusBarStyle永远不会被调用。
我也在我的控制器中写了下面的行,viewDidLoad但仍然没有被调用。
self.setNeedsStatusBarAppearanceUpdate()
我也多次 controller-based status bar appearance改为YES&&NO进行检查,但对我没有任何帮助。
我也尝试过以下解决方案和其他 stackoverflow 答案,但没有任何帮助。
在 iOS 13 上不尊重 preferredStatusBarStyle
preferredStatusBarStyle var 在 iOS12 中不起作用?
我试过下面的代码,它返回给我topViewController,它会调用preferredStatusBarStyle那个ViewController
extension UINavigationController {
override open var childForStatusBarStyle: UIViewController? {
return topViewController
}
} …Run Code Online (Sandbox Code Playgroud)