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

问题描述 投票:0回答:1

我在slider以下有一个webView。在webView上显示的内容取决于滑块的值。我正在滑动,效果很好。我想防止我的应用(或更确切地说是webView)在手指放在滑块上时(在移动滑块的圆时)执行任何操作。然后,在我完成滑动(将手指移出滑动器的圆圈之外)后,app / webView应该能够执行其他操作。这可能吗?

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

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

ios swift webview slider user-interaction
1个回答
0
投票

对于滑块,您可以执行以下操作,

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
            }
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.