ios - 覆盖 UINavigationController 中的向后滑动手势
问题描述
如何覆盖手势以弹出到 rootViewController,而不是之前的 ViewController?
解决方案
您可以结合以下方式执行此操作:
将滑动手势识别器添加到您的视图控制器:
将以下内容添加到您的视图控制器类:
import UIKit
class SwipeBackViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
navigationController?.interactivePopGestureRecognizer?.isEnabled = false
}
@IBAction func swipeback(_ sender: UISwipeGestureRecognizer) {
navigationController?.popToRootViewController(animated: true)
}
}
- 中的命令
viewDidLoad
禁用 iOS 中的默认滑动识别器 - 然后,与您在上面添加的滑动识别器关联的操作为您处理弹出
如果您对此有任何疑问,我在这里的回答是更详细地禁用识别器。
推荐阅读
- python - 将字典的值拆分为单独的 panda 数据框列——使它们成为虚拟列
- python - Python中检查字符序数的不等式
- libgdx - LibGDX 如何在运行时将布料放在模型角色上?
- c++ - 调整窗口大小会导致位图被覆盖
- python - Scikit-Learn 的 Cluster Module Spectral Cluster 导入出现问题,安装与其他模块一起运行
- swift - 在 Swift 中使用暗模式更改更改 macOS Dock 图标
- javascript - Jquery单击事件的错误并已检查
- matlab - Textscan 和 Regexp 单元格数据布局
- php - PHP 7.4 上的预加载和 JIT(将在 PHP 8 上发布)有什么区别
- laravel - 我如何在 laravel 中使用 index_number 和 date_of_birth 进行前端登录,用户必须先注册