Swift Navigation Controller 滑动即可返回任何地方

Fua*_*oro 3 xcode uitableview uinavigationcontroller swift

我有一个带有嵌入式导航控制器的视图控制器,我希望呈现的控制器能够在任何地方滑动以返回到根控制器。这怎么可能通过使用 SwipeGesture 或扩展导航控制器?

另请注意,所呈现的控制器是一个表格视图并且具有单元格笔尖。

Giu*_*nza 6

根据您的指示,tableview 上的普通手势识别器就足够了。

我会做这样的事情:

override func viewDidLoad() {
    super.viewDidLoad()

    let gesture = UISwipeGestureRecognizer(target: self, action: #selector(dismiss(fromGesture:)))
    tableView.addGestureRecognizer(gesture)
}

@objc func dismiss(fromGesture gesture: UISwipeGestureRecognizer) {
    //Your dismiss code
    //Here you should implement your checks for the swipe gesture
}
Run Code Online (Sandbox Code Playgroud)

如果您想禁用后退手势的默认行为:

navigationController?.interactivePopGestureRecognizer?.isEnabled = false
Run Code Online (Sandbox Code Playgroud)

我希望它有所帮助。:)