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
上一篇 下一篇

猜你喜欢

热点阅读