iOS 13 Отменить / повторить жесты с помощью UIDocument и UICollectionViewController - PullRequest
0 голосов
/ 21 февраля 2020

Можно ли выбрать iOS 13 жестов отмены / повтора с 3 пальцами для всего UICollectionViewController (или UIViewController / UITableViewController)?

У меня есть UIDocument, который отслеживает меняется через undoManager, и я сейчас звоню undo / redo по этому вопросу. Тем не менее, я хотел бы разрешить использование 3-пальцевого касания / двойного касания 3-мя пальцами / команду + z, чтобы разрешить вызов отмены и показать новое наложение, которое отображается во время просмотра текста при отмене / повторном выполнении.

Я попытался установить editingInteractionConfiguration на default на моем контроллере вида, который, похоже, ничего не делал.

Возможно ли это?

1 Ответ

0 голосов
/ 21 февраля 2020

Есть два шага, которые мне нужно было сделать здесь, чтобы сделать эту работу. Первым было вернуть диспетчер отмены моего документа в качестве диспетчера отмены контроллера представления со следующим:

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

Вторым было заставить контроллер представления стать первым респондентом, как рекомендовано в статье NSHndoManager NSHipster. в разделе об ответе на более старый жест встряски:

override var canBecomeFirstResponder: Bool { true }

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

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

Я все еще ищу дополнительный код, чтобы гарантировать, что контроллер представления восстанавливает свой статус первого ответчика после представления контроллера предупреждений, содержащего текст поле, но это реально другая проблема.

...