我正在使用this repo,但它没有任何功能可以在滑块更改其值时提醒我,所以我尝试自己动手。
首先我尝试使用滑块的动作但我只想在用户停止滑动时使用值(这是一个Int(滑块的动作让我返回了很多值,比如1.2) ,1.3,1.4等)。
我找到了一种方法来获取该值,当用户停止从此回购中的函数滑动时,如下所示:
internal func didMoveSliderStepValue(sendValueChangedEvent: Bool = false) {
let intValue = Int(round(self.value))
let floatValue = Float(intValue)
print(intValue) //It prints only when the user stops sliding
//a function to call after taking the value
callTheButton()
UIView.animateWithDuration(0.35, animations: {
self.setValue(floatValue, animated: true)
}) { (fin) in
self.setThumbForSliderValue(floatValue)
if sendValueChangedEvent {
self.sendActionsForControlEvents(.ValueChanged)
}
}
}
func callTheButton(){
buttonFromMainView()
}
现在我想在主视图中触发一个按钮(buttonFromMainView)。
所以我的问题是:
我可以从repo有的swift文件中调用该按钮吗? 或者,当用户从UISlider函数结束滑动时,我是否只能获取值?
提前致谢。
答案 0 :(得分:1)
如果您想在用户完成触摸后轻松访问值,您可以设置(例如在viewDidLoad中)
isContinous
你的G8SliderStep(以及任何UISlider)的属性,然后像任何其他UISlider一样实现valueChanged函数
@IBAction func valueChanged (sender: G8SliderStep)
{
// Your value will be like 2.3325 so you want to round it
let newValue = round(sender.value)
}