导航栏透明设置

有时候我们需要导航栏透明,只显示标题和返回按钮,除了加载透明图片外,我自己写了一个不用就爱在图片的方法,希望对大家有用。

 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 }

 

posted @ 2016-05-13 10:42  qinxiaoguang  阅读(411)  评论(0)    收藏  举报