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"?