ios - 如何使用 Swift 从另一个 View 调用 Button

标签 ios swift uislider

我正在使用 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/

相关文章:

ios - 当处于最高级别时检测设备上的 "up"音量按钮

swift - 在swift中为二维数组赋值

ios - 为什么更改文本字段中的文本需要替换字符?

ios - 动画 UISearchBar 框架的宽度

ios - 如何在不使用 IOS 9 中的 segue 的情况下在 View Controller 之间发送数据

objective-c - UISlider 自定义

javascript - 使用 AngularJS 观察 rangeSlider 值的变化

iphone - 拇指宽度与正常宽度不同的 UISlider 突出显示状态

ios - onClick 不适用于 Appcelerator Alloy 应用程序中的 SVG iOS

ios - RxSwift : how do I work with schedulers so I run one observable at a time?