在app里我们经常会遇到有的界面状态栏需要是白色,有的需要是黑色的情况。
问题1.info.plist设置了但是vc里修改不掉颜色
应在info.plist加上这么一句,该意思为vc设置的优先级高于info.plist的设置
View controller-based status bar appearance Bool YES
问题2.preferredStatusBarStyle无法修改某一单独界面状态栏颜色
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
比如我有a,b,c三个界面,我需要a和c都显示白色,b显示黑色
因为我是继承于同一个nav,所以直接在nav里设置了这么一句话
self.navigationBar.barStyle = UIBarStyleBlack;
b界面里设置了
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
self.navigationController.navigationBar.hidden = YES;
}
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleDefault;
}
- (void)viewWillDisappear:(B