#ios #ios13 #uicontrol
#iOS #ios13 #uicontrol
Вопрос:
Я использую AORangeSlider, который является подклассом UIControl
, который переопределяет методы beginTracking
continueTracking
и endTracking
.
Когда этот элемент управления добавляется в a viewController
, который представлен в iOS 13 с использованием «стиля карт», он ведет себя очень странно. При перемещении элемента управления viewController
он попытается провести пальцем вниз, и это прерывает работу ползунка, делает его ненадежным и некорректно работающим.
Если я вместо этого представлю viewController
UIModalPresentationFullScreen
элемент управления, который работает правильно.
Есть ли способ разрешить AORangeSlider/UIControl
работу со стилем представления карт iOS 13 и не конфликтовать с их событиями касания?
Комментарии:
1. Похоже, что с этим элементом управления может быть проблема, поскольку у обычных ползунков этой проблемы нет. Если вы не можете исправить это, вмешиваясь в код элемента управления, вы можете отключить жест прокрутки вниз для представленного представления.
Ответ №1:
Пришлось спросить об этом Apple, и они рекомендовали следующее решение, которое сработало:
if (@available(iOS 13.0, *)) {
for (UIGestureRecognizer *gestureRecognizer in self.navigationController.presentationController.presentedView.gestureRecognizers) {
gestureRecognizer.enabled = NO;
}
}