我有一个自定义视图作为我的集合视图标题。但是当我滚动时,标题会消失,直到我滚动回到顶部。
我想要实现的一个例子就像当前的Facebook应用程序。 " LIVE,Photo,Check in"向下滚动时隐藏视图,向上滚动一点后返回。
就像这样。但我只想隐藏现场,照片和入住栏,并在滚动时显示。
我目前的做法只是添加为集合视图标题。
答案 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)
}