【问题标题】:StatusBar colour never changes when using NavigationBars on iOS 7在 iOS 7 上使用 NavigationBars 时,状态栏颜色永远不会改变
【发布时间】:2013-10-03 18:53:30
【问题描述】:
我正在尝试更改应用状态栏颜色,并且它仅在我的 XIB 没有导航栏时才有效。为此,我在源文件中添加了以下函数:
-(UIStatusBarStyle)preferredStatusBarStyle{
return UIStatusBarStyleLightContent;
}
但是当我调用[self.navigationController setNavigationBarHidden:NO animated:NO]; 时,状态栏会回到默认样式。
这让我相信导航栏应该为自己设置状态栏颜色。
蚂蚁建议?
【问题讨论】:
标签:
objective-c
ios7
uinavigationbar
statusbar
uistatusbar
【解决方案1】:
修复了此设置为整个应用程序设置唯一的状态栏颜色,而不是为每个 ViewController 设置。只需两步:
在 MyAppName-Info.plist 上定义 “查看基于控制器的状态栏外观”=否
在我的 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions AppDelegate 函数中添加了以下行
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
它对我有用 =)