У меня есть представление drawingView
для рисования, в котором я использую touchBegan, Moved, End, чтобы добавить кривые в подпредставление renderingView
, которое их отображает. Я также хотел поддерживать масштабирование и панорамирование на этом же экране, поэтому я добавил UIScrollView
в качестве подпредставления drawingView
и вернул renderingView
в методе viewForZooming
моего делегата scrollView.
Теперь все масштабирование / панорамирование работает. renderingView
увеличивает масштаб, по-прежнему отображает кривые Безье, я могу панорамировать увеличенное изображение при рендеринге и т. Д. Однако моя первоначальная функция рисования в renderingView
с использованием методов касаний * из drawingView
больше не работает, так как просмотр прокрутки subview и потребляет события касания.
Я готов установить для панорамирования прокрутки как минимум жесты с двумя пальцами, поэтому масштабирование / сжатие и панорамирование будут жестами с двумя пальцами, оставляя место для canvasView
для обработки событий касания одним пальцем * для добавления информации о пути.
Теперь я нашел способ (хотя это похоже на взлом) установить жест панорамирования прокрутки как минимум на два касания пальцами, перебирая его жесты и проверяя, когда это жест панорамирования. Однако установка минимального количества касаний двумя пальцами не позволяет моему canvasView
начать получать события касания. Как я могу это сделать?
TL;DR
Подпредставление UIScrollView
пожирает события touchesBegan / Moved / Ended своего супервизора. Как я могу обойти это, если я хочу ограничить события scrollView жестами двумя пальцами и позволить жестам одним пальцем обрабатывать суперпредставление?