(Swift) 阻止应用在滑动时做任何事情

(Swift) Prevent app doing anything while sliding


我在 webView 下面有一个 slider。将在 webView 上显示的内容取决于滑块的值。
我正在滑动并且工作正常。我想阻止我的应用程序,或者更准确地说是我的 webView,在我的手指放在滑块上时(当我移动滑块的圆圈时)做任何事情。然后,在我完成滑动后(将手指从滑块的圆圈中移开),app/webView 应该可以做其他事情了。这可能吗?

@IBAction func sliderButton(_ sender: Any) {  
    loadWebView()      
}

sliderButton()方法在用户滑动时触发,但我希望loadWebView()方法仅在用户停止滑动后调用。

对于滑块,你可以这样做,

sliderButton.addTarget(self, action: #selector(onSliderValChanged(slider:event:)), for: .valueChanged)

@objc func onSliderValChanged(slider: UISlider, event: UIEvent) {
        if let touchEvent = event.allTouches?.first {
            switch touchEvent.phase {
            case .began:
            // handle drag began
                print("handle drag began")
                break
            case .moved:
            // handle drag moved
                print("handle drag moved")
                break
            case .ended:
            // handle drag ended
                print("handle drag ended")

                //do for `WKWebView`'s user interaction

                break
            default:
                break
            }
        }
    }