我尝试将以下所示的简单代码行实现到viewDidLoad中,以便当用户在我的collectionview上滑动时隐藏我的导航栏。但是,该操作仅在我从导航栏中滑动时有效,在其他地方则无效。我希望它隐藏在我的收藏夹视图中,而这当然占据了大部分视图。
override func viewDidLoad() {
navigationController?.hidesBarsOnSwipe = true
}
答案 0 :(得分:0)
视图控制器是否嵌入在导航控制器中?
答案 1 :(得分:0)
Swift 4,Swift 5:
scrollViewDidScroll()
,CollectionView
,TableView
等时,都会调用ScrollView
方法。尝试以下代码:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
//Check the scroll direction here
if(scrollView.panGestureRecognizer.translation(in: scrollView.superview).y > 0) {
print("Show")
self.navigationController?.setNavigationBarHidden(false, animated: true)
self.navigationController?.setToolbarHidden(false, animated: true)
}
else {
print("Hide")
self.navigationController?.setNavigationBarHidden(true, animated: true)
self.navigationController?.setToolbarHidden(true, animated: true)
}
}