【发布时间】:2017-01-05 02:35:40
【问题描述】:
Apple 添加了这个 hidesBarsOnSwipe 助手,当我们在项目列表中上下滚动时,它非常适合触发 NavigationBar 隐藏/显示操作。
我有一个 UIPageViewController,里面有很多 tableView。 我想以与在 UITableView(s) 中向上/向下滚动时 hidesBarsOnSwipe 完全相同的方式显示/隐藏导航栏
不幸的是,当我在 UITableView 类中设置以下代码时:
rootNavViewCtrl?.hidesBarsOnSwipe = true
rootNavViewCtrl?.barHideOnSwipeGestureRecognizer.addTarget(self, action: #selector(didHideOnSwipe))
func didHideOnSwipe() {
log.debug("==== hide on swipe ====")
}
它不会触发该功能。 它实际上仅在我开始水平滚动滑动时触发该功能(我猜是 UIPageViewController 触发手势识别器),然后以对角线向上或向下的动作结束它...
有人对此有干净的解决方案吗?
【问题讨论】:
-
你解决了吗?我们已经坚持了好几天了..
-
当时我最终没有将它隐藏在滚动条上,我不知道建议的解决方案是否 100% 工作正常,但从我读到的内容来看,它应该工作良好。我只是不确定尝试上下滚动时动画是否流畅。另外,当切换到另一个水平页面时,它不会出错吗?如果你能测试他提出的代码并粘贴一个快速的解决方案,那就太好了。
标签: ios swift uitableview cocoa-touch uinavigationcontroller