解决系统自带的导航控制器右滑返回手势失效- Swift
2017-10-23 本文已影响0人
程序猿_Squall
最近项目出现一个 Bug,一个导航控制器右滑返回手势失效,为什么系统自带的右滑返回手势失效,这个问题还没有找到原因,解决方法倒是找到了。
Step1: 添加代理
navigationController?.interactivePopGestureRecognizer?.delegate = self
Step2: 实现代理
extension WPGProjectClassController: UIGestureRecognizerDelegate {
}
Step3: 上面代码确实可以实现滑动返回了,但是在根视图的时候也可以侧滑返回,这样当再次在根视图触发一些 Action 的时候就不执行了,所以判断一下是否为根视图控制器。
override func viewDidDisappear(_ animated: Bool) {
// 判断是否为根视图控制器
guard let viewCount = navigationController?.viewControllers.count else {
return
}
print(viewCount)
if (viewCount > 1) {
navigationController?.interactivePopGestureRecognizer?.isEnabled = true
}else{
navigationController?.interactivePopGestureRecognizer?.isEnabled = false
}
}