博客> 导航栏的那些事(背景,字体,电池等设置)
导航栏的那些事(背景,字体,电池等设置)
2019-08-17 23:08 评论:0 阅读:1001 qianqianzhang
ios 导航栏 电池背景字体设置
 UINavigationController下导航栏实现了统一化,但对于有些特殊导航栏样式需求,总结了一下遇到过情况,在尽量使用系统导航栏(保留侧边栏滑动返回)的前提下改变格式方法。

1.设置导航栏电池与信号颜色 首先将info.plist文件中View controller-based status bar appearance这个参数设置为NO。(系统只给出白的与黑色) [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];

  1. 设置导航栏的背景色为红色 [self.navigationController.navigationBar setBarTintColor:[UIColor redColor]];

3.设置导航栏的字体颜色 (1) 系统属性,黑白两色 self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;

(2)设置彩色字体与字体大小 self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName: [UIColor redColor], NSFontAttributeName : [UIFont boldSystemFontOfSize:18]}

4.设置导航栏全透明(包括底部线条) (1)通过设置背景图片和阴影 [self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc]init] forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:[[UIImage alloc]init] ]; self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;

(2)通过设置navigationBar子视图的透明度 [[[self.navigationController.navigationBar subviews] objectAtIndex:0] setAlpha:0];

(3)隐藏导航栏的底部线条 [self findNavigationBarBottomLine:self.navigationController.navigationBar].hidden = YES; //查找导航栏底部的直线

  1. (UIImageView ) findNavigationBarBottomLine: (UIView ) view { if ([view isKindOfClass:UIImageView.class] && view.bounds.size.height <= 1.0) { return view; } for (UIView subview in view.subviews) { UIImageView imageView = [self findNavigationBarBottomLine:subview]; if (imageView) { return imageView; } } return nil;
收藏
0
sina weixin mail 回到顶部