guard let systemGes = interactivePopGestureRecognizer,
let targets = systemGes.value(forKey: "_targets") as? [NSObject],
let targetObjc = targets.first,let target = targetObjc.value(forKey: "target"),
let gesView = systemGes.view else { return }
gesView.addGestureRecognizer(UIPanGestureRecognizer(target:target, action: Selector(("handleNavigationTransition:"))))
原来的代码
1. import UIKit
2. class CustomNC: UINavigationController {
3. override func viewDidLoad() {
4. super.viewDidLoad()
5. guard let systemGes = interactivePopGestureRecognizer else { return }
6. guard let gesView = systemGes.view else { return }
7. let targets = systemGes.value(forKey: "_targets") as? [NSObject]
8. guard let targetObjc = targets?.first else { return }
9. guard let target = targetObjc.value(forKey: &
swift runtime应用 2行代码完成UINavigationController全屏pop手势
最新推荐文章于 2022-11-28 17:55:06 发布
本文介绍了如何使用 Swift 编程,在两行代码内为 UINavigationController 添加全屏 pop 手势。通过获取系统默认的 interactivePopGestureRecognizer,并直接设置其目标和动作,实现了全屏手势操作。这种方法简化了原有的代码实现,提高了代码的简洁性。
摘要由CSDN通过智能技术生成