我在swift中创建了一个视差细节视图。希望在用户向下滚动时允许导航栏颜色和标题显示。
就像这个例子中的详细视图一样。这是目标C,我无法弄清楚快速版本。我确信这很简单,只需要几行代码就可以了。
https://github.com/KMindeguia/movies/blob/master/README.md
我知道导航栏有一个.hideswhenuserswips函数但找不到任何东西!
由于
答案 0 :(得分:0)
如果您为UINavigationController使用storyboard,则可以设置为
或者,您可以在代码中设置如下:
myNavigationController.hidesBarsOnSwipe = true
答案 1 :(得分:0)
您可以使用scrollview delegate
方法来显示或隐藏导航栏。
您可以实施scrollViewDidScroll
,scrollViewDidEndDecelerating
或scrollViewWillBeginDecelerating
。
通过此委托方法,您可以管理导航栏。
答案 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
希望它有用