使用分段控制 Swift 3

Use Segmented Control Swift 3

我在网上和 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
    }

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

@IBOutlet var segmentedControl: UISegmentedControl!

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

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

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

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