1.设置导航条颜色
注意:在这里设置透明度是没有效果的
self.navigationController.navigationBar.barTintColor = [[UIColor yellowColor] colorWithAlphaComponent:0.3];
2.设置导航条图片
***注意:1.图片是会被平铺的。 2.设置了图片,颜色会被覆盖。 ***
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"image01"] forBarMetrics:UIBarMetricsDefault];
3.设置导航条毛玻璃效果
//根据导航栏的结构层次来实现
[[[self.navigationController.navigationBar subviews] objectAtIndex:0] setAlpha:0.5];
4.设置导航栏透明
[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
//去掉导航栏底部的黑线
self.navigationController.navigationBar.shadowImage = [UIImage new];
5.导航条的隐藏/显示
//隐藏
self.navigationController.navigationBar.hidden = YES;
//显示
self.navigationController.navigationBar.hidden = NO;
6.设置原点
屏幕原点一般会在屏幕的左上角,但是有时会在导航栏的左下角,向下偏移64个单位,这是因为自动布局的原因
self.edgesForExtendedLayout = 0;
总结:
1.导航栏默认有过渡效果和毛玻璃效果,但是如果设置了背景颜色、图片后,毛玻璃效果就会消失。
2.在一个控制器了设置了导航条了样式,那么所有的导航条样式都会改变,所以如果想要不同的效果,就要在视图的显示了消失代码里在单独设置回来。
3.有时一些复杂的效果需要可以让导航栏隐藏,然后用UIView模拟导航栏。