设置导航栏颜色渐变的效果

- (void)viewWillAppear:(BOOL)animated {

    [superviewWillAppear:animated];

    

   //将状态栏内容颜色设置为白色(写在这里避免子界面返回到主界面时状态栏的颜色由黑色变成白色的变化效果)

    [[UIApplication sharedApplication]setStatusBarStyle:UIStatusBarStyleLightContentanimated:YES];

    [self.navigationControllersetNavigationBarHidden:YESanimated:NO];

   UIView*navView = [[UIViewalloc]initWithFrame:CGRectMake(0,0,WJScreenWidth,64)];

    navView.backgroundColor= [UIColorclearColor];

   UILabel*navTitle = [[UILabelalloc]init];

   self.navTitle= navTitle;

    navTitle.hidden= YES;

    navTitle.size= CGSizeMake(40,20);

    navTitle.center= navView.center;

    navTitle.text= @"首页";

    navTitle.font= [UIFontsystemFontOfSize:18];

    [navTitlesetTextColor:WJRGBAColor(68,79,102,1)];

    navTitle.center= navView.center;

    [navViewaddSubview:navTitle];

   self.navView= navView;

    [self.viewinsertSubview:navViewatIndex:[self.view.subviewscount]];

}


- (void)viewWillDisappear:(BOOL)animated {

    [superviewWillDisappear:animated];

    

    [self.navigationControllersetNavigationBarHidden:NOanimated:YES];

}


-(void)scrollViewDidScroll:(UIScrollView*)scrollView {

   floatalpha = 1- (64- scrollView.contentOffset.y) /64;

    

   self.navView.backgroundColor= [[UIColorwhiteColor]colorWithAlphaComponent:alpha >1?1: alpha];

   if(scrollView.contentOffset.y>0) {

       self.navTitle.hidden=NO;

    }else{

       self.navTitle.hidden=YES;

    }

   if(scrollView.contentOffset.y>=64) {

        [[UIApplicationsharedApplication]setStatusBarStyle:UIStatusBarStyleDefaultanimated:YES];

    }else{

        [[UIApplicationsharedApplication]setStatusBarStyle:UIStatusBarStyleLightContentanimated:YES];

    }

    

}








版权声明:本文为apple_bao原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。