如何使用 Swift 从另一个视图调用 Button
How to call a Button from another view with Swift
我正在使用 this repo,但它没有任何功能可以在滑块更改其值时提醒我,所以我尝试自己做。
首先我尝试用滑块的动作来做,但我只想要用户停止滑动时的值,它是一个 Int(滑块的动作返回了很多值,例如 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)。
所以我的问题是:
我可以从存储库的 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)
}
我正在使用 this repo,但它没有任何功能可以在滑块更改其值时提醒我,所以我尝试自己做。
首先我尝试用滑块的动作来做,但我只想要用户停止滑动时的值,它是一个 Int(滑块的动作返回了很多值,例如 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)。
所以我的问题是:
我可以从存储库的 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)
}