Как получить события прокрутки трекпада / колесика мыши в приложении MacOS Catalyst?

Мы создали приложение для iPad для MacOS с использованием Catalyst, и я не могу понять, как заставить жесты прокрутки трекпада двумя пальцами работать в пользовательском UIView. Стандартные компоненты UIKit (например, UITableView) прокручиваются стандартными жестами прокрутки трекпада двумя пальцами. Но как вы справляетесь с ними в пользовательском UIView?

Пользовательский UIViewViewController добавляет типичный UIPanGestureRecognizer, который вызывает метод обработчика жестов, когда нажата трекпад, и я двигаю пальцем. Но это не вызывает обработчик только двумя пальцами, чистящими трекпад.

0 ответов

Вы можете сделать это сейчас в iOS 13.4, используя этот код:

panGesture.allowedScrollTypesMask = UIScrollTypeMask.continuous

https://developer.apple.com/documentation/uikit/uipangesturerecognizer/3538978-allowedscrolltypesmask

Подтверждено Apple DTS, что в настоящее время это невозможно.

Мы рассмотрели ваш запрос и пришли к выводу, что не существует поддерживаемого способа достижения желаемой функциональности с учетом текущих конфигураций системы.

(Февраль 2020 г.)

Если вы можете поместить свой UIView в UIScrollView, вы можете затем использовать UIScrollViewDelegateметоды обнаружения прокрутки. Однако затем вам нужно будет немедленно отменить любые движения прокрутки вscrollViewDidScroll если вы на самом деле не хотите, чтобы вид перемещался.

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