如何检测用户何时完成移动范围滑块Swift

时间:2016-08-23 01:40:17

标签: ios swift slider uicontrol rangeslider

我在项目中使用Range sliderHow use it.

我想在用户完成移动范围滑块时检测到。 我尝试使用函数SliderAction(sender: RangeSlider),但我得到了滑块中的每个移动点。我想我需要使用这个函数:func endTrackingWithTouch(touch: UITouch?, withEvent event: UIEvent?),但它不起作用。 我该怎么做?

5 个答案:

答案 0 :(得分:4)

要检测用户何时完成移动范围滑块,您可以在滑块上添加一个控制器,您可以以编程方式添加它:

    func sliderDidEndSliding(sender: UISlider) {
}

然后你必须按照接收方法做你的逻辑。

staging

答案 1 :(得分:1)

对于swift 3,我使用了这个:

mySlider.addTarget(self, action: #selector(self.sliderDidEndSliding), for: .touchUpInside) 

func sliderDidEndSliding() {
  // process stuff 
}

读数值用:

完成
@IBAction func mySlider(_ sender: Any) {

}

答案 2 :(得分:0)

基于此示例viewcontroller,您应该检查更改的值sender.selectedMax应该等于您在该幻灯片视图中为该滑块视图设置的值

enter image description here

答案 3 :(得分:0)

您需要覆盖 endTrackingWithTouch。当跟踪由底层机器结束时,它会被调用,让你有机会做出回应。

请确保在你的endTrackingWithTouch版本中调用它的super,以便父类可以做到这一点。

答案 4 :(得分:0)

快捷键4

slider.addTarget(self, action: #selector(sliderDidEndSliding), for: .touchUpInside)

并添加

@objc func sliderDidEndSliding(sender: UISlider) {
}