首页 > 解决方案 > 覆盖 UINavigationController 中的向后滑动手势

问题描述

如何覆盖手势以弹出到 rootViewController,而不是之前的 ViewController?

标签: iosswiftuikit

解决方案


您可以结合以下方式执行此操作:

将滑动手势识别器添加到您的视图控制器:

在此处输入图像描述

将以下内容添加到您的视图控制器类:

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 中的默认滑动识别器
  • 然后,与您在上面添加的滑动识别器关联的操作为您处理弹出

如果您对此有任何疑问,我在这里的回答是更详细地禁用识别器。


推荐阅读