向下滚动时显示导航栏
Display navigationbar when scrolling down
在ViewController的顶部,我有一个图像,我隐藏了导航栏,以获得更好的视觉效果。
如果用户向上滚动,图像会缩放。目前没问题。
如果用户向下滚动,我想用动画显示导航栏(导航栏的正确背景颜色非常浅)
我已经检查了 here 一个很好的教程,其中包含 Ios8 的新可能性。
事实上,我需要执行 hidesBarsOnSwipe
相反的操作
所以首先,要隐藏导航栏,我需要
self.navigationController?.isNavigationBarHidden = true
经过一番搜索,我想我需要使用 UIScrollViewDelegate
。
但我不知道如何实现它。
有什么提示吗?
您需要做的是实现 UIScrollViewDelegate,更准确地说是 scrollViewDidScroll(_:)
方法 (see documentation)。每次滚动滚动视图时都会调用此方法。
因此,在此方法中,您必须检查用户是否向下滚动,然后通过调用当前导航控制器的 setNavigationBarHidden(_:animated:)
方法隐藏导航栏(see documentation)
在ViewController的顶部,我有一个图像,我隐藏了导航栏,以获得更好的视觉效果。
如果用户向上滚动,图像会缩放。目前没问题。
如果用户向下滚动,我想用动画显示导航栏(导航栏的正确背景颜色非常浅)
我已经检查了 here 一个很好的教程,其中包含 Ios8 的新可能性。
事实上,我需要执行 hidesBarsOnSwipe
所以首先,要隐藏导航栏,我需要
self.navigationController?.isNavigationBarHidden = true
经过一番搜索,我想我需要使用 UIScrollViewDelegate
。
但我不知道如何实现它。
有什么提示吗?
您需要做的是实现 UIScrollViewDelegate,更准确地说是 scrollViewDidScroll(_:)
方法 (see documentation)。每次滚动滚动视图时都会调用此方法。
因此,在此方法中,您必须检查用户是否向下滚动,然后通过调用当前导航控制器的 setNavigationBarHidden(_:animated:)
方法隐藏导航栏(see documentation)