当用户快速滚动表格视图时如何隐藏和取消隐藏导航栏?
Posted
技术标签:
【中文标题】当用户快速滚动表格视图时如何隐藏和取消隐藏导航栏?【英文标题】:how to hide and unhide navigation bar when user scroll the table view in swift? 【发布时间】:2018-06-17 14:33:50 【问题描述】:我已经读过这个帖子Hide NavigationBar when scrolling tableView in CollectionView?
但我仍然无法得到我想要的。我知道有一个 pod 可以做到这一点,但我尽量避免使用 pod。
我想在用户向下滚动表格视图时隐藏导航栏,并且我希望在用户向上滚动回到顶部时返回导航栏。就像在 App Store 的“今天”栏中一样。
我试过用
override func viewWillAppear(_ animated: Bool)
super.viewWillAppear(animated)
self.navigationController?.hidesBarsOnSwipe = true
当我向下滚动表格视图时它可以隐藏导航栏,但是当我向上滚动回到顶部时,导航栏仍然消失。
你可以看到这里是我无法取消隐藏导航栏的 .gif 文件:http://g.recordit.co/zIW2DkCc6j.gif
这是我的表格视图的约束
我该怎么办?或者也许你有其他代码?请分享:)
【问题讨论】:
你希望它完全隐藏? 不,我想要隐藏它之后,当用户向上滚动回到顶部时,我想要导航栏返回 链接的SO问题中有一些解决方案;您尝试了哪些,哪些不符合您的要求?另外,如果有 pod,有没有看 pod 的源码? 你能显示你的表格视图的约束吗? @dr_barto 是的,有一个 pod 可以解决这个问题,但我还没有看到。这有点奇怪,因为我在 youtube 上看到了只使用 self.navigationController?.hidesBarsOnSwipe = true 的教程,但是向上滚动时它可以恢复导航栏 【参考方案1】:好的。你所做的是正确的(在代码中)。只需将表视图的顶部约束更改为以下内容:
【讨论】:
以上是关于当用户快速滚动表格视图时如何隐藏和取消隐藏导航栏?的主要内容,如果未能解决你的问题,请参考以下文章