我正在尝试更改状态栏样式(状态栏文字的颜色,具体取决于哪一个viewController处于活动状态)
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
但这不起作用。相反,它会使整个navigationBar黑色(而不只是statusbar)。以下都不是:
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
但是,这似乎仅在viewController未嵌入在navController中时才起作用(当我隐藏navBar时,它起作用!)。我的viewController层次结构如下:
tabBarController-> navigationControllers-> viewController
另外:将“基于View Controller的状态栏外观”设置为“是”和“否”没有什么区别。
很高兴能为您提供帮助!
答案 0 :(得分:0)
您可以尝试关注。 将此保存到您的ViewController
-(UIStatusBarStyle)preferredStatusBarStyle{
// Add If/else conditions based on which style required on which condition
return UIStatusBarStyleLightContent;
}
要更改状态栏样式时,请调用此代码。
[self preferredStatusBarStyle];
[self setNeedsStatusBarAppearanceUpdate];