导航条最近需要设置成透明的形式,最开始想通过颜色clearColor设置,设置透明度,结果发现UINavigationItem无法显示显示,后来通过setBackgroundImage设置成功,不过会多出一条线白线,需要通过setShadowImage设置背景图片,代码如下:
1
2
3
4
5
|
-( void )viewWillAppear:( BOOL )animated{ [ super viewWillAppear:animated]; [ self .navigationController.navigationBar setBackgroundImage:[UIImage new ] forBarMetrics:UIBarMetricsDefault]; [ self .navigationController.navigationBar setShadowImage:[UIImage new ]]; } |
如果不想影响其他页面的导航透明度,viewWillDisappear将其设置为nil即可:
1
2
3
4
5
6
|
-( void )viewWillDisappear:( BOOL )animated{ [ super viewWillDisappear:animated]; [ self .navigationController.navigationBar setBackgroundImage: nil forBarMetrics:UIBarMetricsDefault]; [ self .navigationController.navigationBar setShadowImage: nil ]; } |