iOS 13 Undo/Redo 使用 UIDocument 和 UICollectionViewController 的手势

iOS 13 Undo/Redo Gestures with UIDocument and a UICollectionViewController

是否可以为整个 UICollectionViewController(或 UIViewController/UITableViewController)选择 iOS 13 的三指 undo/redo 手势?

我有一个 UIDocument,它通过它的 undoManager 跟踪更改,我目前正在调用 undo/redo。但是,我想选择允许 3 指 swipes/3-finger 双 tap/command + z 允许调用撤消并显示当您 undo/redo 时文本视图弹出的新覆盖。

我尝试在我的视图控制器上将 editingInteractionConfiguration 设置为 default,但似乎没有任何作用。

这可能吗?

我需要在这里执行两个步骤才能完成这项工作。第一个是 return 我的文档的撤消管理器作为视图控制器的撤消管理器,具有以下内容:

override var undoManager: UndoManager? { return document.undoManager }

第二个是让视图控制器成为第一响应者,如 NSHipster's NSUndoManager article 关于响应旧摇动手势的部分中所建议的那样:

override var canBecomeFirstResponder: Bool { true }

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    becomeFirstResponder()
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    resignFirstResponder()
}

我仍在寻找其他代码以确保视图控制器在呈现包含文本字段的警报控制器后重新获得其第一响应者状态,但这实际上是一个不同的问题。