一共有两种方法,如下:
【1】通过设置导航栏背景图片实现
- (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault]; //去掉导航栏底部的黑线 self.navigationController.navigationBar.shadowImage = [UIImage new]; }
若只想让导航栏在当前页面透明则须添加以下方法:
- (void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; [self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault]; [self.navigationController.navigationBar setShadowImage:nil]; }
【2】通过设置导航栏透明度实现
- (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [[self.navigationController.navigationBar subviews] objectAtIndex:0].alpha = 0; }
若只想让导航栏在当前页面透明则须添加以下方法:
- (void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; [[self.navigationController.navigationBar subviews] objectAtIndex:0].alpha = 1; }