UIControl 跟踪和 iOS 13 个演示样式卡无法协同工作

UIControl tracking and iOS 13 presentation style cards not working together

我正在使用 AORangeSlider,它是 UIControl 的子类,它覆盖了 beginTrackingcontinueTrackingendTracking 方法。

当此控件添加到 viewController 时,iOS 13 使用“卡片样式”显示,它会出现非常奇怪的行为。滑动控件时,viewController 将尝试向下滑动,这会中断滑块行为并使其不可靠且无法正常工作。

如果我相反,我将 viewControllerUIModalPresentationFullScreen 一起显示,控件工作正常。

有没有办法让 AORangeSlider/UIControl 与 iOS 13 张卡片的呈现方式一起工作,并且它们的触摸事件不会发生冲突?

不得不向 Apple 询问此事,他们推荐了以下有效的解决方案:

if (@available(iOS 13.0, *)) {
    
    for (UIGestureRecognizer *gestureRecognizer in self.navigationController.presentationController.presentedView.gestureRecognizers) {
        gestureRecognizer.enabled = NO;
    }
    
}