iOS小日常

2018最新的设置导航栏透明和渐变色方法,只要一行代码

2018-05-09  本文已影响28人  七叔huangsf

2018最新的设置导航栏透明和渐变色方法,只要一行代码

在你的baseVC中添加如下代码:


#pragma mark 导航栏颜色

//设置导航栏透明

//导航栏渐变色

-(void)setNavigationBarColor:(UIColor *)color alpha:(double)alpha{

    [self.navigationController.navigationBar setBarTintColor:[color colorWithAlphaComponent:alpha]];//主题色

    //这里包含了一个大的背景imageView 和一个底线imageView

    NSArray *barBackgroundSubViews = [[[self.navigationController.navigationBar subviews] objectAtIndex:0] subviews];

    for (UIView *subview in barBackgroundSubViews) {

        subview.alpha = alpha;

//        subview.backgroundColor = color;

    }

}


OK,大功告成!

接下来,在需要的页面里添加下面的代码ok了

#pragma mark -life cycle

-(void)viewWillAppear:(BOOL)animated{

    [super viewWillAppear:animated];

    self.navigationController.navigationBar.translucent = YES;

    //导航栏透明

    [self setNavigationBarColor:[UIColor clearColor] alpha:0.00];

    //修改导航栏的颜色

    [self scrollViewDidScroll:self.collectionView];

}

-(void)viewWillDisappear:(BOOL)animated{

    [super viewWillDisappear:animated];

    self.navigationController.navigationBar.translucent = NO;

    //导航栏主题色

    [self setNavigationBarColor:k_themeColor alpha:1.00];

}

上一篇下一篇

猜你喜欢

热点阅读