利用 runtime 添加全屏右滑返回

2020-03-26  本文已影响0人  茗记西岭雪

    //获取系统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)

上一篇 下一篇

猜你喜欢

热点阅读