UIControl 跟踪和 iOS 13 个演示样式卡无法协同工作
UIControl tracking and iOS 13 presentation style cards not working together
我正在使用 AORangeSlider,它是 UIControl
的子类,它覆盖了 beginTracking
、continueTracking
和 endTracking
方法。
当此控件添加到 viewController
时,iOS 13 使用“卡片样式”显示,它会出现非常奇怪的行为。滑动控件时,viewController
将尝试向下滑动,这会中断滑块行为并使其不可靠且无法正常工作。
如果我相反,我将 viewController
与 UIModalPresentationFullScreen
一起显示,控件工作正常。
有没有办法让 AORangeSlider/UIControl
与 iOS 13 张卡片的呈现方式一起工作,并且它们的触摸事件不会发生冲突?
不得不向 Apple 询问此事,他们推荐了以下有效的解决方案:
if (@available(iOS 13.0, *)) {
for (UIGestureRecognizer *gestureRecognizer in self.navigationController.presentationController.presentedView.gestureRecognizers) {
gestureRecognizer.enabled = NO;
}
}
我正在使用 AORangeSlider,它是 UIControl
的子类,它覆盖了 beginTracking
、continueTracking
和 endTracking
方法。
当此控件添加到 viewController
时,iOS 13 使用“卡片样式”显示,它会出现非常奇怪的行为。滑动控件时,viewController
将尝试向下滑动,这会中断滑块行为并使其不可靠且无法正常工作。
如果我相反,我将 viewController
与 UIModalPresentationFullScreen
一起显示,控件工作正常。
有没有办法让 AORangeSlider/UIControl
与 iOS 13 张卡片的呈现方式一起工作,并且它们的触摸事件不会发生冲突?
不得不向 Apple 询问此事,他们推荐了以下有效的解决方案:
if (@available(iOS 13.0, *)) {
for (UIGestureRecognizer *gestureRecognizer in self.navigationController.presentationController.presentedView.gestureRecognizers) {
gestureRecognizer.enabled = NO;
}
}