- 只有電池欄顏色變化 而且 沒有導航欄那條橫線
UIView *statusBarView = [[UIView alloc] initWithFrame:CGRectMake(0, -20, kScreenWidth, 20)];
statusBarView.backgroundColor = kBackgroundColor;
[self.navigationController.navigationBar addSubview:statusBarView];
[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
//消除陰影
self.navigationController.navigationBar.shadowImage = [UIImage new];
- 導航欄字體大小和顏色
[self.navigationController.navigationBar setTitleTextAttributes:
@{NSFontAttributeName:[UIFont systemFontOfSize:15],
NSForegroundColorAttributeName:[UIColor whiteColor]}];
設置狀態(tài)欄和導航欄是一致的顏色
self.navigationController.navigationBar.barTintColor = kBackgroundColor;
self.navigationController.navigationBar.translucent = NO;
設置透明的導航欄
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
UIImage *image = [[UIImage alloc] init];
//設置導航欄背景圖片為一個空的image,這樣就透明了
[self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
//去掉透明后導航欄下邊的黑邊
[self.navigationController.navigationBar setShadowImage:image];
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
self.navigationController.navigationBar.translucent = YES;
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:nil];
self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
self.navigationController.navigationBar.translucent = NO;
}