iOS中设置导航栏背景颜色、标题字体颜色、大小

我们在开发过程中经常遇到 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;

你可能感兴趣的:(iOS中设置导航栏背景颜色、标题字体颜色、大小)