ios - iOS 13 撤消/重做手势的手势识别器在哪里?
问题描述
iOS 13 中的新功能,三个手势被解释为请求撤消和重做:
三指双击意味着撤消。
三指向左滑动表示撤消。
Swift 右三指意味着重做。
检测这些手势的手势识别器在哪里?我会做些什么来覆盖它们,关闭它们,或者在它们和我自己的手势之间进行仲裁?
解决方案
看起来有一个名为的私有类UIUndoGestureRecognizer
附加到 a UIEditingOverlayGestureView
,它位于 aUIInputSetContainerView
内部UITextEffectsWindow
。UndoManager
(为了解决这个问题,我在's处理程序中放置了一个断点,registerUndo
并尝试用三个手指向左滑动,然后在生成的堆栈跟踪和汇编代码中四处寻找,直到找到手势识别器实例。)
您可能可以使用 in 中的方法在UIGestureRecognizerDelegate
手势识别器和这些系统识别器之间进行仲裁,并且您可以editingInteractionConfiguration
在视图控制器或视图中覆盖以返回.none
,以便完全关闭它们。
推荐阅读
- azure - 尝试将托管标识与 Azure 服务总线一起使用
- pdf - Tesseract:线检测太敏感
- html - 容器边框和子元素背景之间的小间隙(CHROME)
- python - 从 python 中的数据帧导出到 MS 访问时的编码问题
- python - 在python中,我们如何执行条件操作列表,其中列表的项目或元素是关键字
- python-3.x - 绘制修改悬停模式数据
- php - Laravel 等效除法
- twilio - Python:Twilio TaskRouter 会议说明
- mysql - INNER JOIN 表从重复的 id 记录中获取 MIN 值
- html - 选中时需要更改自定义单选按钮的边框颜色