我们在开发过程中经常遇到 UINavigationController 导航栏修改情况,下面介绍几种常遇到的微小改动
修改导航栏字体,下面这种方法是我经常用到的,网上也有介绍使用自定义视图titleLabel,设置
self.navigationItem.titleView = titleLabel;
个人觉得若改个字体下面这个方法够用了
[self.navigationController.navigationBar setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:19], NSForegroundColorAttributeName:[UIColor redColor]}];
隐藏导航栏
(1) 隐藏push 出的页面的导航栏
RentCarListTableViewController * rentCarListVC =[UINavigationBar appearance].barTintColor = Main_Color; rentCarListVC.hidesBottomBarWhenPushed = YES; [mapVC.navigationController pushViewController:rentCarListVC animated:YES]; }
(2) 隐藏当前页面导航栏,可在viewDidload 中设置
self.navigationController.navigationBarHidden = YES;
在viewDidLoad这个方法里写的话,确实是把导航栏隐藏了,但是你有没发现,当你点击返回上一级的按钮时,上一级的导航栏也没有了。。。
需要在viewWillAppear,与viewWillDisappear 中进行设置
- (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self.navigationController setNavigationBarHidden:YES animated:YES]; }
- (void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; [self.navigationController setNavigationBarHidden:NO animated:NO]; }
- 修改导航栏背景颜色
[UINavigationBar appearance].barTintColor = Main_Color;