在swift中滚动时隐藏显示顶视图

时间:2016-11-04 04:59:20

标签: ios swift

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

我想要实现的一个例子就像当前的Facebook应用程序。 " LIVE,Photo,Check in"向下滚动时隐藏视图,向上滚动一点后返回。

example

就像这样。但我只想隐藏现场,照片和入住栏,并在滚动时显示。

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

3 个答案:

答案 0 :(得分:6)

以下是使用滚动隐藏导航栏的代码

    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)
            }
        }

答案 1 :(得分:0)

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

.resp-tabs-container

答案 2 :(得分:0)

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

另一种方法是在viewWillAppear

中使用此功能
if let navigationController = self.navigationController as? ScrollingNavigationController {
    navigationController.followScrollView(tableView, delay: 30.0)
}
相关问题