【问题标题】:Hide show top view when scroll in swift快速滚动时隐藏显示顶视图
【发布时间】:2016-11-04 04:59:19
【问题描述】:

我有一个自定义视图作为我的集合视图标题。但是当然,当我滚动时,标题会消失,直到我滚动回顶部。

我想要实现的一个示例就像当前的 Facebook 应用程序。向下滚动时,“实时、照片、签到”视图会隐藏,向上滚动一点后会返回。

是这样的。但我只想在滚动时隐藏并显示实时、照片和签到栏。

我目前的方法只是添加为集合视图标题。

【问题讨论】:

  • 但我想隐藏标题视图。不是导航栏
  • 你能贴出你的问题和代码的截图吗?
  • 添加手势识别器来处理集合视图上的滚动事件。检测手势方向以隐藏/取消隐藏标题视图。
  • 我建议从集合视图中删除标题视图,并将其创建为集合视图顶部的单独视图。现在,在滚动更改 alpha/ 时相应地翻译独立的标题视图。

标签: ios swift


【解决方案1】:

这是用滚动隐藏导航栏的代码

    func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
            //
            contentOffSet = self.channelsCollView.contentOffset.y;
        }

        func scrollViewDidScroll(_ scrollView: UIScrollView) {
            //

            let scrollPos = self.channelsCollView.contentOffset.y ;

            if(scrollPos >= contentOffSet ){
                //Fully hide your toolbar
                UIApplication.shared.isStatusBarHidden = true
                UIView.animate(withDuration: 0.5, animations: {
                    //
                    //write a code to hide
self.navigationController?.isNavigationBarHidden = true
                }, completion: nil)
            } else {
                //Slide it up incrementally, etc.
                UIApplication.shared.isStatusBarHidden = false
                UIView.animate(withDuration: 0.5, animations: {
                    //
self.navigationController?.isNavigationBarHidden = false
                }, completion: nil)
            }
        }

【讨论】:

    【解决方案2】:

    您可以使用这些库来管理导航栏在用户滚动时的隐藏和显示:

    另一种方法是在你的viewWillAppear中使用这个函数

    if let navigationController = self.navigationController as? ScrollingNavigationController {
        navigationController.followScrollView(tableView, delay: 30.0)
    }
    

    【讨论】:

      【解决方案3】:

      试试这个它在我的项目中工作:

      self.navigationController.hidesBarsOnSwipe = true;
      

      【讨论】:

      • 这是否意味着我的自定义视图必须在我的导航栏中?抱歉,我对这种方法感到困惑。
      • 你试过了吗?
      • 是的,但由于某种原因,我的导航栏没有隐藏,它适用于堆栈上的第一个 vc,但后续 vc 的导航栏不会隐藏。另外,即使在第一个 vc 中,我的标题仍然存在。
      • 这是一场表演赛。一个视图控制器从根向下堆栈
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-09
      • 1970-01-01
      • 2019-01-21
      • 1970-01-01
      相关资源
      最近更新 更多