如何将两个段控件相互连接?

How can I connect two segment controls to each other?

我试图在用户单击 Diesel 时禁用底部分段控件。问题是我无法将两个 IBAction 相互连接起来。如:

@IBAction func didSelect(_ control: UISegmentedControl) {
    switch control.selectedSegmentIndex
    {
    case 0:
        isPetrol = true
        isDiesel = false

    case 1:
        isPetrol = false
        isDiesel = true

    default:
        print  ("break")
    }
}

@IBACtion func didSecondSelect (_ control: UISegmentedControl) {
    //something here that when case1 is clicked disables it
    }
}

如果单击顶部案例 1,如何禁用它?

您混淆了 IBActionIBOutlet

您应该创建一个指向第二个分段控件的 IBOutlet 并更改第一个分段控件的代码。

@IBOutlet weak var secondSegmentedControl: UISegmentedControl!

@IBAction func didSelect(_ control: UISegmentedControl) {
    [...]

    secondSegmentedControl.isEnabled = control.selectedSegmentIndex == 0
}

有关使用 IBOutlets 的更多信息,