使用分段控制Swift 3

时间:2017-08-17 16:20:00

标签: ios swift button controls uisegmentedcontrol

我在网页和youtube上搜索了分段控件,但我只找到了如何更改为不同视图的示例。

我的目标是从分段控件中获取所选值,并在另一个按钮的操作中使用它。

我会试着解释一下我的意思:

@IBAction func segmentetControll(_ sender: UISegmentedControl) {
     value 1
     value 2
     value 3
}

@IBAction func calculateButton(_ sender: Any) {
    if value 1 {
        do this
    }
    else if value 2 {
        Do that
    }
    else if value 3 {
        Do thids
    }

3 个答案:

答案 0 :(得分:3)

您需要通过@IBOutlet将其连接到文件。 然后你可以使用它的索引做任何你想做的事。

@IBOutlet var segmentedControl: UISegmentedControl!

@IBAction func calculateButton(_ sender: Any) {
    let index = segmentedControl.selectedSegmentIndex
    //...
}

答案 1 :(得分:1)

您需要创建一个@IBOutlet var segmentedControl: UISegmentedControl?属性,该属性连接到Interface Builder中的分段控件,然后在calculateButton方法中切换segmentedControl.selectedSegmentIndex。如果您需要进一步解释,请告诉我。

答案 2 :(得分:1)

将代码放在通过storyboard或Xib文件连接的IBAction方法中是正确的方法。将操作连接到控件并编写代码时可以使用强类型:

@IBAction func calculateButton(_ sender: UISegmentedControl) {
    switch(sender.selectedSegmentIndex){
    case 1:
        // Do something
    case 2:
        // Do something
    case 3:
        // Do something
    default:
        break
    }
}