gpt4 book ai didi

swift - 如何在不单击复选框的情况下快速更改复选框的状态?

转载 作者:搜寻专家 更新时间:2023-11-01 05:56:40 25 4
gpt4 key购买 nike

例如,我有两个复选框,我的目标是如果复选框 1 被选中,那么复选框 2 也被选中。如果复选框 1 未选中,则复选框 2 也未选中。如何在不单击复选框的情况下更改复选框的状态?

最佳答案

像这样将您的复选框与 View Controller 连接起来:

class ViewController: UIViewController {

@IBOutlet weak var checkBox1: UISwitch!
@IBOutlet weak var checkBox2: UISwitch!

}

然后将第一个复选框的 IBAction 添加到 View Controller ,并使用 if else 来切换第二个复选框,如下所示:

class ViewController: UIViewController {

@IBOutlet weak var checkBox1: UISwitch!
@IBOutlet weak var checkBox2: UISwitch!

@IBAction func checkBox1Pressed(_ sender: UISwitch) {
// using if else
if checkBox1.isOn {
checkBox2.setOn(true, animated: true)
} else {
checkBox2.setOn(false, animated: true)
}
}
}

或者像这样使用三元运算符:

class ViewController: UIViewController {

@IBOutlet weak var checkBox1: UISwitch!
@IBOutlet weak var checkBox2: UISwitch!

@IBAction func checkBox1Pressed(_ sender: UISwitch) {
// or using ternary operator
checkBox1.isOn ? checkBox2.setOn(true, animated: true) : checkBox2.setOn(false, animated: true)
}
}

结果:

enter image description here

如果您不使用 UISwitch,请使用您当前的代码更新您的问题

根据 OP 的评论更新:

像这样将您的复选框与 View Controller 连接起来:

class ViewController: NSViewController {
@IBOutlet weak var checkBox1: NSButton!
@IBOutlet weak var checkBox2: NSButton!
}

然后将第一个复选框的 IBAction 添加到 View Controller ,并使用 if else 来切换第二个复选框,如下所示:

class ViewController: NSViewController {
@IBOutlet weak var checkBox1: NSButton!
@IBOutlet weak var checkBox2: NSButton!


@IBAction func checkBox1Pressed(_ sender: NSButton) {
// Note: state checked == 1, state unchecked == 0

// if checkBox1 is checked
if checkBox1.state == 1 {
// also set checkBox2 on checked state
checkBox2.state = 1
} else {
// uncheck checkBox2
checkBox2.state = 0
}
}
}

或者像这样使用三元运算符:

class ViewController: NSViewController {
@IBOutlet weak var checkBox1: NSButton!
@IBOutlet weak var checkBox2: NSButton!


@IBAction func checkBox1Pressed(_ sender: NSButton) {
// Note: state checked == 1, state unchecked == 0

// or using ternary operator
checkBox1.state == 1 ? (checkBox2.state = 1) : (checkBox2.state = 0)
}
}

结果:

enter image description here

关于swift - 如何在不单击复选框的情况下快速更改复选框的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40448256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com