滑动UIScrollView隐藏或显示导航栏

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

    //scrollView已经有拖拽手势,直接拿到scrollView的拖拽手势

    UIPanGestureRecognizer *pan = scrollView.panGestureRecognizer;

    //获取到拖拽的速度 >0 向下拖动 <0 向上拖动,值可以设置到自己想要的位置

    CGFloat velocity = [pan velocityInView:scrollView].y;

    if (velocity <- 100) {

        //向上拖动,隐藏导航栏(加了一个动画,看上去会慢慢消失)

      [UIView animateWithDuration:0.3 animations:^{

        [self.navigationController setNavigationBarHidden:YESanimated:YES];

          }];

    }else if (velocity > 100) {

        //向下拖动,显示导航栏

      [UIView animateWithDuration:0.3 animations:^{

        [self.navigationController setNavigationBarHidden:NO animated:YES];

          }];

    }else if(velocity == 0){

        //停止拖拽

    }

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值