万里初心

随手记录、乐于分享!乐忠于iOS开发!!不断进步,不断提升!!

iOS UITableView表视图滚动隐藏UINavigationController导航栏

UITableView 继承于UIScrollView
所以UIScrollView 的代理方法同样适用于UITableView 中
隐藏导航栏的方法为:

self.navigationController.navigationBar.hidden = YES;

所以我们只有通过滚动的代理方法监测滚动视图的滚动方向来控制导航栏显示还是隐藏即可:
通过实现UIScrollView的代理方法来操作:
方式如下:

// 滑动scrollView,并且手指离开时执行。一次有效滑动,只执行一次。
// 当pagingEnabled属性为YES时,不调用,该方法
-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{

    NSLog(@"%f",velocity.y);
    if (velocity.y > 0.0)
    {
        //向上滑动隐藏导航栏
        self.navigationController.navigationBar.hidden = YES;
    }else
    {
        //向下滑动显示导航栏
        self.navigationController.navigationBar.hidden = NO;
    }
}

如果觉得效果僵硬,可自行加载动画效果!
关于 UIScrollView Delegate 的详解可到此查看: iOS UIScrollViewDelegate详解

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ljh910329/article/details/46818631
个人分类: iOS
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

iOS UITableView表视图滚动隐藏UINavigationController导航栏

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭