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

原创 2015年07月09日 16:30:33

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

tableView滚动时(渐变)隐藏显示导航栏

//添加头部-(void)createHeadImageView{ UIImage *image =[UIImage imageNamed:@"组-5"]; headImag...
  • CrazyDony
  • CrazyDony
  • 2016年10月12日 19:14
  • 1432

iOS实例——滑动列表展现/隐藏顶部视图

上滑列表渐变隐藏顶部视图,下滑列表渐变显示顶部视图,且保持在最终位置...
  • Cloudox_
  • Cloudox_
  • 2017年04月20日 17:10
  • 1819

iOS:导航条滚动透明度随着tableView的滚动而变化

来源:HelloYeah  链接:http://www.jianshu.com/p/b8b70afeda81 下面这个界面有没有觉得很眼熟。打开你手里的App仔细观察,你会发现很多都有实现...
  • u011010305
  • u011010305
  • 2016年06月29日 11:19
  • 2764

iOS导航栏的正确隐藏方式

简介 在项目中经常碰到首页顶部是无限轮播,需要靠最上面显示.有的设置导航栏为透明等一系列的方法,这个可以借助第三方.或者干脆简单粗暴的直接隐藏掉导航栏.可是push到下一个页面的时候是需要导航栏的...
  • ws1352864983
  • ws1352864983
  • 2016年07月17日 15:01
  • 41061

iOS开发上下滑动UIScrollview隐藏或者显示导航栏

一、好多App都有上下滑动UIScrollview隐藏或者显示导航栏,在这里我说说我觉得有用的几种方法: 1.iOS8之后系统有一个属性hidesBarsOnSwipe  Objective-C代...
  • wgl_happy
  • wgl_happy
  • 2016年06月30日 17:37
  • 6836

隐藏导航栏时添加在self.view上的Tableview位置产生20个单位的误差

也许你已经发现了,当你隐藏了页面中的导航栏,并且在self.view上添加了一个tableview时,你的tableview的位置会向下偏20个单位,并且你怎么找都找不到问题所在。。。因为这就不是你的...
  • yake_099
  • yake_099
  • 2015年07月30日 14:27
  • 2145

UINavigationController使用时,显示或隐藏的功能设备,导航栏隐藏时出现空白黑色区域?

UINavigationController使用时,导航栏隐藏时出现空白黑色区域? 隐藏导航栏共有3种方法,使用方法3,且animated必须设置为YES,则可以避免出出空白黑色区域。 方法...
  • potato512
  • potato512
  • 2014年06月21日 22:45
  • 2489

iOS 关于滑动返回隐藏导航栏的问题

通常在app最后一个tabBar也就是"我的"都会写一些个人信息或设置什么的, 这时我们就需要在我的中隐藏系统的导航栏也就是Navigation, 之后跳入下一个界面中会显示导航栏 开始我是这样设置的...
  • Cloud_Pro
  • Cloud_Pro
  • 2016年07月20日 13:41
  • 3823

iOS导航栏切换界面时隐藏和显示

简单的实现导航栏在不同界面隐藏和显示之间切换
  • Cloudox_
  • Cloudox_
  • 2017年03月18日 16:37
  • 9944

炫酷:一句代码实现标题栏、导航栏滑动隐藏。ByeBurger库的使用和实现

其实上周五的时候已经发过一篇文章。基本实现了底部导航栏隐藏的效果。但是使用起来可能不是很实用。因为之前我实现的方式是继承了系统的导航栏,并且提供了响应的隐藏显示方法。这样就变相等于强制使用这个view...
  • wingichoy
  • wingichoy
  • 2016年11月06日 23:46
  • 2193
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS UITableView表视图滚动隐藏UINavigationController导航栏
举报原因:
原因补充:

(最多只允许输入30个字)