美文网首页想法简友广场
iOS. 添加全屏Pop手势

iOS. 添加全屏Pop手势

作者: 海边的遐想 | 来源:发表于2022-08-03 15:44 被阅读0次

1,思路分析:


image.png

// 1.获取系统的Pop手势
guard let systemGes = interactivePopGestureRecognizer else { return }

    // 2.获取手势添加到的View中
    guard let gesView = systemGes.view else { return }
    
    // 3.获取target/action
    // 3.1.利用运行时机制查看所有的属性名称
    /*
    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!))
    }
    */
    let targets = systemGes.value(forKey: "_targets") as? [NSObject]
    guard let targetObjc = targets?.first else { return }
    
    // 3.2.取出target
    guard let target = targetObjc.value(forKey: "target") else { return }
    
    // 3.3.取出Action
    let action = Selector(("handleNavigationTransition:"))
    
    // 4.创建自己的Pan手势
    let panGes = UIPanGestureRecognizer()
    gesView.addGestureRecognizer(panGes)
    panGes.addTarget(target, action: action)

相关文章

  • iOS. 添加全屏Pop手势

    1,思路分析: // 1.获取系统的Pop手势guard let systemGes = interactiveP...

  • Swift - 全屏添加pop手势

    现在众多APP中都有全屏pop手势实现这个目前只想到两种方式,如有其他方式请留言告知,相互学习 第一种 根据需求,...

  • iOS 全屏返回

    iOS 全屏返回 BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势主流App...

  • iOS 全屏手势返回

    BBGestureBack BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势...

  • iOS 右滑返回

    BBGestureBack BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势...

  • BBGestureBack 手势返回

    BBGestureBack BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势...

  • iOS 手势返回

    iOS 手势返回 BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势主流App...

  • Swift仿快手、微博拖拽控制器改变大小

    我实现的2.gif 一般默认情况,pop都是从左边缘开始,如果添加全屏pop手势,有点太生硬了,像这种自由拖拽的不...

  • iOS 右滑返回

    iOS 右滑返回 BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势主流App...

  • iOS 侧滑返回

    iOS 侧滑返回 BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势主流App...

网友评论

    本文标题:iOS. 添加全屏Pop手势

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