我正在使用 this repo但是当 slider 改变它的值时它没有任何提醒我的功能所以我试着自己做。
首先,我尝试用 slider 的 Action 来实现,但我只想要用户停止滑动时的值,它是一个 Int( slider 的 Action 返回了很多值,例如 1.2、1.3、1.4 等)。
我找到了一种方法,当用户停止从这个 repo 中的函数滑动时获取值,如下所示:
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函数时的值?
提前致谢。
最佳答案
如果你想在用户完成触摸后轻松访问值,你可以设置(例如在 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)
}
关于ios - 如何使用 Swift 从另一个 View 调用 Button,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41063700/