当用户向下滚动时显示导航栏 - 快速

时间:2016-06-01 06:11:15

标签: ios swift uinavigationbar

我在swift中创建了一个视差细节视图。希望在用户向下滚动时允许导航栏颜色和标题显示。

就像这个例子中的详细视图一样。这是目标C,我无法弄清楚快速版本。我确信这很简单,只需要几行代码就可以了。

https://github.com/KMindeguia/movies/blob/master/README.md

我知道导航栏有一个.hideswhenuserswips函数但找不到任何东西!

由于

4 个答案:

答案 0 :(得分:0)

如果您为UINavigationController使用storyboard,则可以设置为set on storyboard

或者,您可以在代码中设置如下:

myNavigationController.hidesBarsOnSwipe = true

答案 1 :(得分:0)

您可以使用scrollview delegate方法来显示或隐藏导航栏。

您可以实施scrollViewDidScrollscrollViewDidEndDeceleratingscrollViewWillBeginDecelerating

通过此委托方法,您可以管理导航栏。

答案 2 :(得分:0)

这个组件只使用简单的UIView并实现UIScrollViewDelegate方法。您可以在父视图的顶部添加自定义视图并将其隐藏,实现UIScrollViewDelegate方法并跟踪uiscrollview的一些contentOffset。就像第237行中的这个组件一样
scrollDelegate methods

答案 3 :(得分:0)

如果您不显示NavigationBar使用此代码,请在每个viewcontroller中设置navigationbar

self.navigationController?.navigationBarHidden = true

并显示navigationbar特别viewController将此代码放在下面,

self.navigationController?.navigationBarHidden = false

此行使用了您的方法,或者您使用此代码

override func viewWillAppear(animated: Bool)
{
    super.viewWillAppear(animated)
    self.navigationController?.navigationBarHidden = true
}

override func viewWillDisappear(animated: Bool)
{
    super.viewWillDisappear(animated)
    self.navigationController?.navigationBarHidden = false
}

滚动显示导航栏时,请参阅此链接Hide status bar while scrolling

希望它有用