对于导航栏颜色的变化,简单的设置就是在每个ViewController这样设置
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
}
但是颜色的切换会显得比较的生硬,都是突变的。所以就有很对的方案来处理导航栏颜色的变化,使其看起来不会那么的生硬。9.1 的模拟器看起来是这样的。
但10.2的系统在导航栏颜色的切换上做了一定的优化,添加了一下渐变的效果。无需做过多的设置,只需要稍微注意一下,返回按钮不能用系统默认的,需要自己设置一下。
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStyleDone target:self action:@selector(backLast)];
}
- (void)backLast {
[self.navigationController popViewControllerAnimated:YES];
}
然后就可以优雅的切换导航栏颜色了!!下面是10.2的模拟器的效果