1. 设置导航栏背景色:
[UINavigationBar appearance].barTintColor = [UIColor blackColor];
2. 设置导航栏title字体颜色:
[[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];
3. 设置导航栏字体颜色:
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
4. 关闭导航栏毛玻璃效果:
默认带有当关闭毛玻璃效果后,视图frame会从整个屏幕的原点算起,大家要注意64的误差(导航栏44 + 状态栏20)
self.navigationController.navigationBar.translucent = NO;
5. 隐藏导航栏下边界线:
self.navigationController.navigationBar.shadowImage = [[UIImage alloc] init];
// [self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
或者:
navBarHairLineImageView = [self findHairlineImageViewUnder:self.navigationController.navigationBar];
- (UIImageView *)findHairlineImageViewUnder:(UIView *)view {
if ([view isKindOfClass:UIImageView.class] && view.bounds.size.height <= 1.0) {
return (UIImageView *)view;
}
for (UIView *subview in view.subviews) {
UIImageView *imageView = [self findHairlineImageViewUnder:subview];
if (imageView) {
return imageView;
}
}
return nil;
}
6.当控制器push到另一个控制器时,点击隐藏导航栏
self.navigationController.hidesBarsOnTap = YES;
7. 隐藏导航栏
[self.navigationController setNavigationBarHidden:YES animated:YES];
这些基本属性可定义一个navigationController的基类,来统一设置~