在iOS7中运行一个最初为早期版本设计的应用程序,一个深灰色导航栏将文本为黑色的状态栏着色。
我试图使其适应最新版本,并将UIApplication.statusBarStyle设置为UIStatusBarStyleLightContent如下:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];这段代码应该将状态栏文本颜色更改为白色,但它没有。我在我的_statusBarRequestedStyle实例的UIApplication属性中放置了一个观察点,我可以看到在执行viewWillAppear和viewDidAppear方法之间,UIApplicationMain调用将它设置为0 (UIStatusBarStyleDefault)。
我不知道为什么状态栏样式在这一点上会改变,如果你也经历过同样的事情,我会很感激你的任何建议。
提前感谢!
编辑:来自iOS 7 UI转换指南(https://developer.apple.com/library/ios/documentation/userexperience/conceptual/TransitionGuide/Bars.html)
在iOS 7中,您可以从单个视图控制器控制状态栏的样式,并在应用程序运行时对其进行更改。如果您希望选择退出此行为,并使用UIApplication statusBarStyle方法设置状态栏样式,请将UIViewControllerBasedStatusBarAppearance键添加到应用程序的Info.plist文件中,并给出值NO。
发布于 2013-11-15 11:18:45
我希望它对你有帮助,请在你的.m文件中试一试
- (void)navigationController:(UINavigationController *)
navigationController willShowViewController:(UIViewController *)
viewController animated:(BOOL)animated
{
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}https://stackoverflow.com/questions/19999625
复制相似问题