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];
    }
  • 相关阅读:
    项目经验总结
    聚合,组合之间的关系(aggregate,composite)
    做策划方案遇到问题
    给公司员工上的培训1——微观规范
    关于Oracle的简单导入导出
    SVN服务管理配置(原创,引用请注明出处)
    面向功能开发一点经验
    SourceMonitor使用手记
    泡泡、搜房、方正我该如何选择
    Excel 关联 合并 上海
  • 原文地址:https://www.cnblogs.com/StevenHuSir/p/iOS_CustomNav_Hidden.html
Copyright © 2011-2022 走看看