我有 2 UIViewControllers
。首先UIViewController
,比如说ViewController1
,我一直在UINavigationBar
隐藏。由于我的应用程序的主题是 black ,所以我需要 white UIStatusBar
iniOS 7
这样它就不会在 black 中变得不可见UINavigationBar
。为了变白UIStatusBar
,我在iOS 7
.
- 设置
UIViewControllerBasedStatusBarAppearance
为YES
_plist
- 在
viewDidLoad
做一个[self 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 这样的白色状态栏?提前致谢。