UIViewController не обрабатывает события Apple Pencil Double Tap

Я не могу заставить UIViewController получать метод PencilInteractionDelegate UIPencilInteractionDidTap в ответ на двойное касание 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)
}

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

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

Я также попытался добавить объект UIPencilInteraction к другим UIViewController в моем приложении, и ни в одном из них не вызывается метод "PencilInteractionDidTap".

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

0 ответов

Другие вопросы по тегам