向下滚动时显示导航栏

时间:2017-11-03 10:52:07

标签: swift uinavigationbar uiscrollviewdelegate

在ViewController的顶部,我有一个图像,我隐藏了导航栏,以获得更好的视觉效果。

如果用户向上滚动,则图像会有缩放。到目前为止没问题。

如果用户向下滚动,我想显示带有动画的导航栏(非常轻到导航栏的正确背景颜色)

我已经通过Ios8检查了here一个很好的教程。 事实上,我需要执行与hidesBarsOnSwipe

相反的操作

首先,隐藏我需要的导航栏

self.navigationController?.isNavigationBarHidden = true

经过一些搜索后,我想我需要使用UIScrollViewDelegate

但我不知道如何实现它。

任何提示?

1 个答案:

答案 0 :(得分:1)

您需要做的是实现UIScrollViewDelegate,更准确地说是/*eslint-disable no-constant-condition*/方法(see documentation)。每次滚动滚动视图时都会调用此方法。

因此,在此方法中,您必须检查用户是否向下滚动,然后通过调用当前导航控制器的scrollViewDidScroll(_:)方法隐藏导航栏(see documentation