当我push到将当前视图控制器的navigationBar设定为全透明时,
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
//设定字体颜色
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
//设定背景图片为空
[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
//半透明
//self.navigationController.navigationBar.translucent = YES;
//
//self.edgesForExtendedLayout = UIRectEdgeNone;
}
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
然而顶部的状态栏是漆黑一片。
我的上一级VC也使用了preferredStatusBarStyle,但是显示没有问题,不同在于上一级VC隐藏了NavigationBar,而push到当前VC的时候是显示NavigationBar的..
求解各位大神!
PHPz2017-05-02 09:34:46
スタックオーバーフローに到達するための解答、追加上下面这句
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
具体的な接続:http://stackoverflow.com/ques...ViewController が
navigationController 内にある場合、navigationController の
navigationBar.barStyle が statusBarStyle を決定することがわかりました。navigationBar の barStyle を UIBarStyleBlackTranslucent に設定すると
これは、barTintColor を介してナビゲーションバーの
は白いステータス バー テキスト (つまり UIStatusBarStyleLightContent) が表示され、
UIBarStyleDefault は黒いステータス バー テキスト (つまり
UIStatusBarStyleDefault) になります。#🎜 🎜#色を完全に変更した場合にも適用されることに注意してください。