2016-06-01 75 views
0

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

像这个例子在详细视图。这是客观的C,我无法弄清楚迅捷版本。我确信在适当的位置使用几行代码就足够简单了。

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

我知道的导航栏有.hideswhenuserswips功能,但无法找到这样的东西!

感谢

回答

0

如果你用故事板为您的UINavigationController,你可以这样设置set on storyboard

或者,你可以在你的代码是这样设置:

myNavigationController.hidesBarsOnSwipe = true 
0

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

您可以执行scrollViewDidScroll,scrollViewDidEndDeceleratingscrollViewWillBeginDecelerating

从这个委托方法你可以管理你的导航栏。

+0

感谢这样我就可以设置navigationBar.hidden = false,但滚动的,但我怎么会得到导航栏显示时只有在顶部的视野不见了之后。 (就像我链接的例子) –

0

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

0

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

self.navigationController?.navigationBarHidden = true 

并表现出特别viewControllernavigationbar把这个下面的代码,

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

希望它有帮助