如何隐藏滚动条上的导航栏(屏幕顶部除外)

时间:2018-11-07 18:11:32

标签: ios swift

我有一个UIViewController,其中包含一个固定在视图所有边缘的UICollectionView。该视图控制器位于UINavigationController内部。

我想在集合视图中向下滚动时逐渐隐藏导航栏。在滚动导航栏高度的距离时,导航栏应完全隐藏。如果我向上滚动,它应该逐渐显示导航栏。

我已经尝试了github上的所有开源导航栏,但是它们都无法在iOS 12上正常工作。

我该如何实现?

1 个答案:

答案 0 :(得分:0)

UICollectionViewUIScrollView的子类,因此您可以访问其scrollViewDidScroll委托方法。您的UIViewController也归其导航控制器所有,因此您可以在视图控制器中创建一个实例属性,例如navigationDelegate: UINavigationController?,它将作为委托。在导航控制器中,将该属性设置为self并根据需要通过导航委托操纵导航栏。完全不需要第三方脚本来执行此标准和基本操作。