有时候我们需要导航栏透明,只显示标题和返回按钮,除了加载透明图片外,我自己写了一个不用就爱在图片的方法,希望对大家有用。
1 self.navigationController.delegate = self; 2 3 - (void) navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { 4 self.alpha = self.navigationController.navigationBar.alpha; 5 6 if (viewController == self) {// 如果进入的是当前视图控制器 7 8 [self setNavControlWithAlpha:0.0]; 9 10 } else { 11 12 [self setNavControlWithAlpha:self.alpha]; 13 14 } 15 } 16 17 //遍历获取导航条 View 并设置透明度 18 -(void)setNavControlWithAlpha:(CGFloat)alpha{ 19 20 for (UIView *view in self.navigationController.navigationBar.subviews) { 21 if ([view isKindOfClass:NSClassFromString(@"_UINavigationBarBackground")]) { 22 view.alpha = alpha; 23 } 24 } 25 26 }