关闭

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

标签: uitableview导航栏ios
1529人阅读 评论(0) 收藏 举报
分类:

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详解

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:44281次
    • 积分:702
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:1篇
    • 译文:0篇
    • 评论:1条
    文章分类