zoukankan      html  css  js  c++  java
  • 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];
    }
  • 相关阅读:
    机器学习笔记[保持更新]
    习题 7-3 uva211
    习题 7-2 uva225(回溯)
    习题7-1 uva 208(剪枝)
    poj2331 (IDA*)
    poj2449 (第k条最短路)
    POJ 1324(BFS + 状态压缩)
    hdu3567 八数码(搜索)--预处理
    poj 1367 robot(搜索)
    例 7-10 uva12212(迭代加深搜索)
  • 原文地址:https://www.cnblogs.com/StevenHuSir/p/iOS_CustomNav_Hidden.html
Copyright © 2011-2022 走看看