Как получить события прокрутки трекпада / колесика мыши в приложении MacOS Catalyst?
Мы создали приложение для iPad для MacOS с использованием Catalyst, и я не могу понять, как заставить жесты прокрутки трекпада двумя пальцами работать в пользовательском UIView. Стандартные компоненты UIKit (например, UITableView) прокручиваются стандартными жестами прокрутки трекпада двумя пальцами. Но как вы справляетесь с ними в пользовательском UIView?
Пользовательский UIViewViewController добавляет типичный UIPanGestureRecognizer, который вызывает метод обработчика жестов, когда нажата трекпад, и я двигаю пальцем. Но это не вызывает обработчик только двумя пальцами, чистящими трекпад.
0 ответов
Вы можете сделать это сейчас в iOS 13.4, используя этот код:
panGesture.allowedScrollTypesMask = UIScrollTypeMask.continuous
Подтверждено Apple DTS, что в настоящее время это невозможно.
Мы рассмотрели ваш запрос и пришли к выводу, что не существует поддерживаемого способа достижения желаемой функциональности с учетом текущих конфигураций системы.
(Февраль 2020 г.)
Если вы можете поместить свой UIView в UIScrollView
, вы можете затем использовать UIScrollViewDelegate
методы обнаружения прокрутки. Однако затем вам нужно будет немедленно отменить любые движения прокрутки вscrollViewDidScroll
если вы на самом деле не хотите, чтобы вид перемещался.