往下滚动,导航栏隐藏

Posted 廖利君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了往下滚动,导航栏隐藏相关的知识,希望对你有一定的参考价值。

#pragma mark 下拉导航栏隐藏

// 当开始滚动视图时,执行该方法。一次有效滑动(开始滑动,滑动一小段距离,只要手指不松开,只算一次滑动),只执行一次。

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView

{

    //获取开始位置

    beginContentY = scrollView.contentOffset.y;

}

 

// 滑动scrollView,并且手指离开时执行。一次有效滑动,只执行一次。

// 当pagingEnabled属性为YES时,不调用,该方法

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset

{

    //获取结束位置

    endContentY = scrollView.contentOffset.y;

    if(endContentY-beginContentY > 100)

    {

        [UIView animateWithDuration:0.25 animations:^{

            CGRect rect = navBarView.frame;

            rect.origin.y = -64;

            navBarView.frame = rect;

            _myTableView.y = navBarView.BottomY;

             _myTableView.height = SCREENHEIGHT-50;

        }];

        sectionHeaderHeight = 0;

        [_myTableView reloadData];

    } else if(endContentY-beginContentY < -100)  {

        [UIView animateWithDuration:0.25 animations:^{

            CGRect rect = navBarView.frame;

            rect.origin.y = 0;

           navBarView.frame = rect;

         _myTableView.y = navBarView.BottomY;

            _myTableView.height = SCREENHEIGHT-navBarView.height-50;

        } completion:^(BOOL finished) {

            sectionHeaderHeight = 40;

            [_myTableView reloadData];

        }];

    }

}

 

以上是关于往下滚动,导航栏隐藏的主要内容,如果未能解决你的问题,请参考以下文章

滚动时隐藏导航栏而不隐藏状态栏及其背景

滚动上带有隐藏导航栏的页面菜单

图像视图在滚动视图中隐藏导航栏

如何在滚动时隐藏导航栏,除非在屏幕顶部

如何在 Xamarin Forms 中滚动时折叠(隐藏或向上滑动)导航栏(标题栏)?

Bootstrap 5:滚动 300 像素后隐藏/显示导航栏