美文网首页
隐藏导航栏后实现全屏pop

隐藏导航栏后实现全屏pop

作者: 不得不开 | 来源:发表于2020-06-11 16:36 被阅读0次
    func fullPop() {
            
            //获取手势
            guard let systemGes = navigationController?.interactivePopGestureRecognizer else {
                return
            }
            //获取手势所在view
            guard let gesView = systemGes.view else {
                return
            }
    
            //获取系统手势name
            var count: UInt32 = 0
            let ivars = class_copyIvarList(UIGestureRecognizer.self, &count)!
            for i in 0..<count {
                let ivar = ivars[Int(i)]
                let name = ivar_getName(ivar)
                
                print(String(cString: name!))
            }
            
            //获取系统target以及action
            let targets = systemGes.value(forKey: "_targets") as? [NSObject]
            guard let targetObjc = targets?.first else {
                return
            }
            
            
            guard let target = targetObjc.value(forKey: "target") else {
                return
            }
            
            let action = Selector(("handleNavigationTransition:"))
            
            //创建手势
            let panGes = UIPanGestureRecognizer()
            gesView.addGestureRecognizer(panGes)
            panGes.addTarget(target, action: action)
        }
    
    11825378-1fc7dc9b08d87b0b.png

    相关文章

      网友评论

          本文标题:隐藏导航栏后实现全屏pop

          本文链接:https://www.haomeiwen.com/subject/stnbtktx.html