iOS UIScrollView 上下滑动导航栏渐变或隐藏


导航栏颜色渐变或者设置隐藏

1.系统导航

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    //scrollView已经有拖拽手势,直接拿到scrollView的拖拽手势
    UIPanGestureRecognizer *pan = scrollView.panGestureRecognizer;
    //获取到拖拽的速度 >0 向下拖动 <0 向上拖动
    CGFloat velocity = [pan velocityInView:scrollView].y;
    
    if (velocity <- 5) {
        //向上拖动,隐藏导航栏
        [self.navigationController setNavigationBarHidden:YES animated:YES];
    }else if (velocity > 5) {
        //向下拖动,显示导航栏
        [self.navigationController setNavigationBarHidden:NO animated:YES];
    }else if(velocity == 0){
        //停止拖拽
    }
}

2.自定义导航

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    //scrollView已经有拖拽手势,直接拿到scrollView的拖拽手势
    UIPanGestureRecognizer *pan = scrollView.panGestureRecognizer;
    //获取到拖拽的速度 >0 向下拖动 <0 向上拖动
    CGFloat velocity = [pan velocityInView:scrollView].y;
    //NSLog(@"velocity = %.f scrollView =%.f",velocity,scrollView.contentOffset.y);
    if (velocity <- 10) {
        //向上拖动,隐藏导航栏
        //self.hkNavView.backgroundColor = kRedColor;
        self.hkNavView.hidden = YES;
    }else if (velocity > 10) {
        //向下拖动,显示导航栏
        self.hkNavView.hidden = NO;
        //self.hkNavView.backgroundColor = kBlueColor;
    }
    //CGFloat alpha =(scrollView.contentOffset.y )/(70*gScale);
    //self.hkNavView.backgroundColor = [HKHexColor(0xFF55c9c4) colorWithAlphaComponent:alpha];
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM