利用 runtime 添加全屏右滑返回
//获取系统pop 手势
guard let systemGes = interactivePopGestureRecognizer else {
return
}
// 获取手势添加到 view
guard let gesView = systemGes.viewelse{return}
//自定义 target
//利用运行时机制 查看属性名称
// var count : UInt32 = 0
// let ivars = class_copyIvarList(UIGestureRecognizer.self, &count)!
// for i in 0..
// let ivar = ivars[Int(i)]
// let name = ivar_getName(ivar)
// print(String(cString: name!))
// }
lettargets = systemGes.value(forKey:"_targets")as? [NSObject]
guardlettargetObjc = targets?.firstelse{
return
}
//2取出 target
guardlettarget = targetObjc.value(forKey:"target")else{
return
}
// guard let action = targetObjc.value(forKey: "action") as? Selector else {
// return
// }
let action = Selector(("handleNavigationTransition:"))
//创建自己的手势
let panGes = UIPanGestureRecognizer()
gesView.addGestureRecognizer(panGes)
panGes.addTarget(target, action: action)