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];
    }
  • 相关阅读:
    《人月神话》阅读笔记02
    学习进度条-4
    课堂作业3
    MySql 8.0及对应驱动包匹配注意点
    关于Ubuntu中Could not get lock /var/lib/dpkg/lock解决方案
    STM32之ADC配置,ADC_Mode模式理解
    STM32串口中断的方式发送
    RTC 与RCC 之间的关系
    stm32 MDK5软件仿真之查看io口输出
    STM32 PWM学习
  • 原文地址:https://www.cnblogs.com/StevenHuSir/p/iOS_CustomNav_Hidden.html
Copyright © 2011-2022 走看看