swift 关于FDFullscreenPopGesture的右滑返回
Posted shen5214444887
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 关于FDFullscreenPopGesture的右滑返回相关的知识,希望对你有一定的参考价值。
关于导航栏右滑返回的工具库 FDFullscreenPopGesture 是 OC 版本,用了 runtime 等各种骚操作
关于 swift ,我在 UINavigationController 的 viewDidLoad 方法中
class GMNavigationController: UINavigationController { override func viewDidLoad() { super.viewDidLoad() self.addPanGes() } /// 将导航栏的右滑手势添加到 view 上面 func addPanGes() { interactivePopGestureRecognizer?.delegate = self guard let targets = interactivePopGestureRecognizer?.value(forKey: "_targets") as?[AnyObject] else { return } let dict = targets[0] //拿到action let target = dict.value(forKey: "target") as Any //通过字典无法拿到action,这里通过Selector方法包装action let action = Selector(("handleNavigationTransition:")) //拿到target action 创建pan手势并添加到全屏view上 let gesture = UIPanGestureRecognizer(target: target, action: action) view.addGestureRecognizer(gesture)
// 这里需要将导航栏的右滑手势去掉 self.interactivePopGestureRecognizer?.isEnabled = false } }
这样就可以达到的效果了。
但是这样做的话,UINavigationBarDelegate的代理方法就不走了,没法做到监听导航栏返回的。又是一个痛点,待研究。。。
以上是关于swift 关于FDFullscreenPopGesture的右滑返回的主要内容,如果未能解决你的问题,请参考以下文章
swift 关于FDFullscreenPopGesture的右滑返回