滑动收藏视图时,hidesBarsOnSwipe方法不起作用

时间:2019-08-09 01:09:41

标签: ios swift uinavigationcontroller

我尝试将以下所示的简单代码行实现到viewDidLoad中,以便当用户在我的collectionview上滑动时隐藏我的导航栏。但是,该操作仅在我从导航栏中滑动时有效,在其他地方则无效。我希望它隐藏在我的收藏夹视图中,而这当然占据了大部分视图。

A mini video of the issue

    override func viewDidLoad() {
navigationController?.hidesBarsOnSwipe = true
}

2 个答案:

答案 0 :(得分:0)

视图控制器是否嵌入在导航控制器中?

答案 1 :(得分:0)

  

Swift 4,Swift 5:

  • 向上滚动时隐藏导航栏,向下滚动时类似地显示。
  • 每次滚动scrollViewDidScroll()CollectionViewTableView等时,都会调用
  • 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)
    }
}