IOS15全屏滑动返回
生活随笔
收集整理的這篇文章主要介紹了
IOS15全屏滑动返回
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
IOS15全屏滑動(dòng)返回
全程的用的思想是 Runtime 和 KVC 即 Runtime+KVC
oc的關(guān)鍵性寫法:
oc 要加入頭文件
#import<objc/runtime.h>
來獲取運(yùn)行循環(huán)需要打印的類。都是在父類都是NavigationViewController里面書寫代碼的
swift寫法:
import UIKitclass CustomNavigationController: UINavigationController {override func viewDidLoad() {super.viewDidLoad()guard let systemGes = interactivePopGestureRecognizer else { return }guard let gesView = systemGes.view else { return }/* var count: UInt32 = 0let ivars = class_copyIvarList(UIGestureRecognizer.self, &count)!for i in 0..<count {let ivar = ivars[Int(i)]let name = ivar_getName(ivar)debugPrint(String(cString: name!))}*/let targets = systemGes.value(forKey: "_targets") as? [NSObject]guard let targetObjc = targets?.first else { return }debugPrint(targetObjc)debugPrint(targets)guard let target = targetObjc.value(forKey: "target") else { return } // guard let action = targetObjc.value(forKey: "action") as? Selector else { return }let action = Selector(("handleNavigationTransition:"))//4創(chuàng)建自己的手勢let panGes = UIPanGestureRecognizer()gesView.addGestureRecognizer(panGes)panGes.addTarget(target, action: action)}override func pushViewController(_ viewController: UIViewController, animated: Bool) {viewController.hidesBottomBarWhenPushed = truesuper.pushViewController(viewController, animated: animated)} }當(dāng)然也有其他寫法,或者借助框架等。
https://gitee.com/johnson__save_admin/iosslide-back-swift
https://gitee.com/johnson__save_admin/iosslide-back-oc
總結(jié)
以上是生活随笔為你收集整理的IOS15全屏滑动返回的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: swift5.给系统类添加便利构造函数
- 下一篇: [转]在Windows 下使用OpenC