UIViewController не обрабатывает события Apple Pencil Double Tap - PullRequest
0 голосов
/ 13 февраля 2020

Мне не удается получить UIViewController для получения метода UIPencilInteractionDelegate «cilInteractionDidTap »в ответ на двойные нажатия на Apple Pencil. Я тестирую на моделях iPad Pro 11 и 12.9, работающих под управлением iOS 13.3.1

. Я реализовал следующее:

extension UIViewController: UIPencilInteractionDelegate {
    public func pencilInteractionDidTap(_ interaction: UIPencilInteraction) {
        print("Handle pencil double-tap")
    }
}

В моем UIViewController:

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

    let pencilInteraction = UIPencilInteraction()
    pencilInteraction.delegate = self
    view.addInteraction(pencilInteraction)
}

Примечание. Если я создаю новое приложение Single View iOS и добавляю этот код, все работает как положено.

Однако приведенный выше код не работает с пользовательским UIViewController в моем приложении. Мой вид UIViewController содержит UIScrollView, а также наложенные виды контейнеров и обрабатывает сенсорные события в классах View Controller и ScrollView.

Я также попытался добавить объект UIPencilInteraction к другим UIViewControllers в моем приложении и «cilInteractionDidTap » метод не вызывается ни в одном из них.

Нужно ли что-то изменить в цепочке респондента, чтобы UIViewController обрабатывал вызовы методаcilInteractionDidTap?

...