iOS 13使用UIDocument和UICollectionViewController撤消/重做手势



是否可以为整个UICollectionViewController(或UIViewController/UITableViewController(选择iOS 13的三指撤消/重做手势?

我有一个UIDocument,它通过它的undoManager跟踪更改,我目前对此调用undo/redo。然而,我想选择允许三指滑动/三指双击/command+z,以允许调用undo,并在撤消/重做时显示文本视图弹出的新覆盖。

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

这可能吗?

要实现这一点,我需要执行两个步骤。第一个是返回我的文档的撤消管理器作为视图控制器的撤消管理程序,并返回以下内容:

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

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

override var canBecomeFirstResponder: Bool { true }
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
becomeFirstResponder()
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
resignFirstResponder()
}

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

相关内容

  • 没有找到相关文章

最新更新