2016-08-23 41 views
2

我在项目中使用的是Range sliderHow use it.如何检测用户在Swift中完成移动范围滑块

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

+0

看到了这个问题:https://stackoverflow.com/questions/9390298/iphone-how-以检测滑块结束拖动 – Martian2049

回答

2

为了当用户完成移动的范围内滑动件检测设置的一个您可以将ControlEvent资料添加到您的滑块,可以编程添加:

mySlider.addTarget(self, action: "sliderDidEndSliding:", forControlEvents: .UIControlEventTouchUpInside) 

,那么你必须做你的逻辑recieving梅索德。

func sliderDidEndSliding(sender: UISlider) { 
} 
+0

这很好!谢谢!!! – Dim

+0

乐于帮助! –

0

基于此示例viewcontroller,应检查值sender.selectedMax值改变应等于你在故事板为该滑块视图

enter image description here

0

您需要覆盖 endTrackingWithTouch。它在追踪由底层机器结束时会被调用,给你一个回应的机会。

请确保在您的endTrackingWithTouch版本中调用超级版本,以便父母课程可以做到这一点。

1

为SWIFT 3我用这个:

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

func sliderDidEndSliding() { 
    // process stuff 
} 

读数值与完成:

@IBAction func mySlider(_ sender: Any) { 

}