Kul*_*eep 6 statusbar ios swift ios13
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)
所以一旦topViewController找到它就会调用preferredStatusBarStyle那个特定的ViewController。
但问题是它没有在内部被调用UITabBarController-> UINavigationController-> UIViewController。
我有 2 个不同的TabBarController.
第一个TabBarControllerstatusBarStyle 是.lightContent.
第二TabBarControllerstatusBarStyle是.lightContent和.default在不同的控制器。
当我更改为 2nd TabBarController 时,它将调用preferredStatusBarStyle2ndTabBarController并且所有ViewControllerstatusBarStyle 都会消失,.default但我的一些控制器 statusBarStyle 想要成为.ligthContent
我怎样才能做到这一点?
任何帮助将不胜感激。
谢谢
我得到了解决方案。
输入下面的代码来查找topViewController.
extension UINavigationController {
override open var childForStatusBarStyle: UIViewController? {
return topViewController
}
}
Run Code Online (Sandbox Code Playgroud)
因此,一旦找到topViewController,下面的代码就会在您当前的情况下被调用ViewController,您可以statusBarStyle根据要求进行设置。
override var preferredStatusBarStyle: UIStatusBarStyle { }
Run Code Online (Sandbox Code Playgroud)
就我而言,我有 2 TabBar。
第一个TabBar控制器是.lightContent,第二个TabBar控制器是 ,.default因此创建 2 UITabBarController。第一个用于.lightContent,第二个用于.default并放入preferredStatusBarStyle其中。
因此,当您位于UITabBarController子控制器时,您UITabBarController preferredStatusBarStyle会被呼叫并statusBarStyle根据您的设置样式设置子控制器。
| 归档时间: |
|
| 查看次数: |
1273 次 |
| 最近记录: |