如何使用Swift从另一个视图调用Button

时间:2016-12-09 15:26:37

标签: ios swift uislider

我正在使用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函数结束滑动时,我是否只能获取值?

提前致谢。

1 个答案:

答案 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)
}