swift 导航栏右滑返回
2020-05-18 本文已影响0人
松龄学编程
class SwipeBackManager: NSObject, UIGestureRecognizerDelegate {
weak var controller: UINavigationController?
init(controller: UINavigationController?) {
self.controller = controller
}
//这个方法是在手势将要激活前调用:返回YES允许右滑手势的激活,返回NO不允许右滑手势的激活
func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
guard let controller = self.controller else { return false }
if gestureRecognizer == controller.interactivePopGestureRecognizer {
return controller.viewControllers.count > 1
}
return true
}
}
navigationController?.interactivePopGestureRecognizer?.delegate = swipeBackManager