iOS 13撤消/重做手势的手势识别器在哪里?

问题描述 投票:1回答:1

iOS 13中的新增功能,三个手势被解释为要求撤消和重做:

  • 用三根手指双击表示撤消。

  • [用三根手指向左滑动表示撤消。

  • 用三根手指向右快速表示重做。

检测这些手势的手势识别器在哪里?我该怎么做才能覆盖它们,关闭它们或在它们与我自己的手势之间进行仲裁?

ios uigesturerecognizer ios13 undo
1个回答
-1
投票

要检测用户何时执行撤消/重做手势:

它是通过系统统一的,因此,如果您使用UndoManagerMore details)或NSUndoManager,则它是完全免费的。因此,如果您像使用摇动一样实现它,它也适用于手势。

更改手势的行为(以防止冲突)

您可以使用此变量更改其配置:

public protocol UIResponder {
    var editingInteractionConfiguration: UIEditingInteractionConfiguration
}

它是一个枚举:

public enum UIEditingInteractionConfiguration {
    case `default` // System behavior 
    case none // Disable
}

所以应该是[[disable like:

override var editingInteractionConfiguration: UIEditingInteractionConfiguration { .none }
来源:

WWDC 2019-Modernizing Your Audio App 37:00

注意 iOS 13中还有更多手势,例如,捏3根手指[[in将复制所选文本并将其捏住out将其粘贴。所有这些都与该协议一起连接到旧式动作(例如经典shake

动作),并且您可以在任何responder中覆盖它。
© www.soinside.com 2019 - 2024. All rights reserved.