我有2个UIViewControllers.在第一个UIViewController中,比如说ViewController1,我保持隐藏UINavigationBar.由于我的应用程序的主题是黑色的,所以我需要iOS 7中的白色UIStatusBar,以便它在黑色UINavigationBar中不会变得不可见.为了获得白色UIStatusBar,我在iOS 7中使用此方法.
>在plist中将UIViewControllerBasedStatusBarappearance设置为YES
>在viewDidLoad做一个[自我
setNeedsstatusBarappearanceUpdate];
>添加以下方法:
-(UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent; }
我在ViewController1中时工作正常.但是当我移动到ViewController2时,如果我设置了
self.navigationController.navigationBarHidden = NO
在我的viewDidLoad方法中.然后上面的白色UIStatusBar代码不起作用. UIStatusBar变黑了,我看不到它,因为我使用以下代码来自定义我的UINavigationBar
self.navigationController.navigationBar.barTintColor = [UIColor blackColor]; self.navigationController.navigationBar.tintColor = [UIColor whiteColor]; self.navigationController.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:UITextAttributeTextColor]; self.navigationController.navigationBar.translucent = NO;
如果我保持UINavigationBar像ViewController1一样隐藏,那么白色UIStatusBar再次可见.但是当UINavigationBar可见时,状态栏再次变为黑色.那就是问题所在.
任何人都可以在这种情况下帮助我,我怎样才能得到像我的ViewController1一样的白色状态栏?
提前致谢.
解决方法
您是否尝试将此添加到两个视图控制器
-(UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。