ios 8 在滚动时隐藏导航控制器,向上滚动时再次显示

ios 8 hide navigationcontroller on scroll and show it again when scrolling a little bit up

我试图让导航控制器在我的 tableview 中滚动时消失,但是当我停止时我拉起一点点导航控制器需要再次可见。这是Facebook应用程序的效果,里面有搜索栏。

我们将只支持 iOS 8,所以我在我的 tableview viewdidload 中添加了这个:

self.navigationController.hidesBarsOnSwipe = YES;

这会在滚动时隐藏导航栏,但它会完全隐藏,直到用户一直滚动到顶部。

有没有办法结合这条线来达到这个效果,还是我需要换一种方式?

我找到了一个非常好的库,它可以做所有的事情。

https://github.com/andreamazz/AMScrollingNavbar

你建议的一行就够了

self.navigationController.hidesBarsOnSwipe = YES;

只需确保生成向下滑动手势,这可能很难在模拟器中正确执行。只需快速向下滑动,导航栏就会再次显示。在真实设备上尝试可能更容易。