Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios (Swift)防止应用程序在滑动时执行任何操作_Ios_Swift_Webview_Slider_User Interaction - Fatal编程技术网

Ios (Swift)防止应用程序在滑动时执行任何操作

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方法在用户滑动时触发,但我

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

@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可以实现