Чтобы определить, когда пользователь выполняет жесты отмены / повтора:
Он унифицирован через систему, поэтому он полностью бесплатен, если вы используете UndoManager
( Подробнее ) илиNSUndoManager
. Так что, если вы реализуете его как использование shakes, он работает и для жеста.
Чтобы изменить поведение жеста (чтобы предотвратить конфликт с другими жестами приложения)
Вы можете изменитьконфигурация этого с этой переменной:
public protocol UIResponder {
var editingInteractionConfiguration: UIEditingInteractionConfiguration
}
это перечисление:
public enum UIEditingInteractionConfiguration {
case `default` // System behavior
case none // Disable
}
Так что это будет отключить как:
override var editingInteractionConfiguration: UIEditingInteractionConfiguration { .none }
Sorce:
WWDC 2019 - Модернизация вашего пользовательского интерфейса для iOS 13 - 37: 00
Обратите внимание, что есть куча других жестовв iOS 13, например, сжимая 3 пальца в , вы скопируете выделенный текст и ущипните их из вставит его. Все они связаны с действиями старого стиля (например, классическим действием встряхнуть ) вместе с этим протоколом, и вы можете переопределить его в любом responder
.
Apple, вызовите все эти Редактирование жестов и вы можете увидеть сеанс здесь
Примечание:
Некоторая информация в этом сеансе не является чисто истинной (например, UIResponder
- это не protocol
, это на самом деле class
, как @matt упомянул в комментариях. Но я добавил источник этого ответа, и вы можете судить сами.