Ios (Swift)防止应用程序在滑动时执行任何操作
我在webView下面有一个滑块。webView上显示的内容取决于滑块的值。我在滑,它工作正常。我想阻止我的应用程序,或者更准确地说,我的webView,在我移动滑块圆圈时,当我的手指在滑块上时做任何事情。然后,在我完成滑动后,将手指移出滑块的圆圈,app/webView应该可以做其他事情。这可能吗Ios (Swift)防止应用程序在滑动时执行任何操作,ios,swift,webview,slider,user-interaction,Ios,Swift,Webview,Slider,User Interaction,我在webView下面有一个滑块。webView上显示的内容取决于滑块的值。我在滑,它工作正常。我想阻止我的应用程序,或者更准确地说,我的webView,在我移动滑块圆圈时,当我的手指在滑块上时做任何事情。然后,在我完成滑动后,将手指移出滑块的圆圈,app/webView应该可以做其他事情。这可能吗 @IBAction func sliderButton(_ sender: Any) { loadWebView() } sliderButton方法在用户滑动时触发,但我
@IBAction func sliderButton(_ sender: Any) {
loadWebView()
}
sliderButton方法在用户滑动时触发,但我希望loadWebView方法仅在用户停止滑动后调用。对于slider,您可以执行以下操作
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
}
}
}
完美的还有一个问题,如果用户在一个值上按住滑块,可以在2秒后调用loadWebView方法,以防止他按住滑块的时间过长?我认为使用UILongPressGestureRecognitor可以实现