我有一个 tabBarApp ,
1标签是NavigationController
并包含状态栏
2是一个简单的viewCOntroller
我在其中添加了NavigationBar
(包括状态栏)
3选项卡没有状态栏
我将 Plist 文件更改为viewControllerBasedStatusBarAppearence
至YES
,因为我需要每个标签对状态栏进行不同的处理(第1和第2个标签必须包含它) ,但第3个必须隐藏它)
我在前两个控制器中写了这个......
override funct preferredStatusBarStyle() -> UIStatusBarStyle { return UIStatusBarStyle.LightContent }
override func prefersStatusBarHidden() -> Bool { return false }
我在第三个控制器中写了这个
override func prefersStatusBarHidden() -> Bool { return true }
但它不起作用。第三个控制器没有我期望的状态栏。 第一个控制器的状态栏与导航栏的颜色相同 但是第二个控制器没有获得导航栏颜色(可能导致它不是导航控制器,而只是导航栏)
那么如何设置条形以获得我想要的颜色而不从NavBarController
获取颜色?
如何将状态栏中的项目(图标...)设置为白色而不是黑色? (导航栏文字为白色)
答案 0 :(得分:0)
如果你想改变状态栏中内容的颜色(不使用UIViewController / UINavigation Controller自动的东西)(所以你的2视图控制器)你可以使用setStatusBarStyle(_ statusBarStyle:UIStatusBarStyle,动画动画:Bool )关于UIApplication。因此,请将以下内容放在viewWillAppear中(或者在2视图控制器中最有效/最佳的地方):
UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent, animated: false)
答案 1 :(得分:0)
setStatusBarStyle
现在在iOS 9中已弃用,目前更改状态栏样式的方法是:
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return UIStatusBarStyle.Default
}
将灯光{/ 1}}更改为.Default