美文网首页
滚动滚动视图隐藏显示导航栏效果

滚动滚动视图隐藏显示导航栏效果

作者: coderJerry01 | 来源:发表于2017-01-16 22:43 被阅读77次

    方法一 根据滚动速度显示或隐藏效果

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

      UIPanGestureRecognizer *pan = scrollView.panGestureRecognizer;
      //获取到拖拽的速度 >0 向下拖动 <0 向上拖动
      CGFloat velocity = [pan velocityInView:scrollView].y;

      [UIView animateWithDuration:1.5f animations:^{
      //向上拖动,隐藏导航栏
      if (velocity < -5) {
      self.rcsPersonDetailInfoViewControllerNavigationBarView.hidden = YES;
      //向下拖动,显示导航栏
      }else if (velocity > 5){
      self.rcsPersonDetailInfoViewControllerNavigationBarView.hidden = NO;
      }else if(velocity == 0){

        }
      

      } completion:^(BOOL finished) {

      }];
      }
      方法二 根据滚动偏移量
      -(void)scrollViewDidScroll:(UIScrollView *)scrollView{
      //获取偏移
      CGFloat offsetY = scrollView.contentOffset.y + self.rcsPersonInfoTableView.contentInset.top;
      CGFloat panTranslationY = [scrollView.panGestureRecognizer translationInView:self.rcsPersonInfoTableView].y;
      if (offsetY > 200) {
      if (panTranslationY > 0) {
      //下滑趋势,显示
      [UIView animateWithDuration:1.5f animations:^{
      self.rcsPersonDetailInfoViewControllerNavigationBarView.hidden = NO;
      }];
      //向上拖动,隐藏导航栏
      }else if(panTranslationY < 0){

            [UIView animateWithDuration:1.5f animations:^{
                self.rcsPersonDetailInfoViewControllerNavigationBarView.hidden = YES;
            }];
        }
      

      }else{

        self.rcsPersonDetailInfoViewControllerNavigationBarView.hidden = NO;
      

      }
      }

    相关文章

      网友评论

          本文标题:滚动滚动视图隐藏显示导航栏效果

          本文链接:https://www.haomeiwen.com/subject/wdopbttx.html