例如,我有两个复选框,我的目标是如果复选框1被选中,复选框2也被选中。如果复选框1未被选中,复选框2也未被选中。如何在不点击的情况下更改复选框的状态?如何在不点击的情况下更改swift复选框的状态?
1
A
回答
3
您的复选框以这样的视图控制器连接:
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)
}
}
结果:
如果不使用UISwitch,请与您现有的代码
更新由于从OP评论更新你的问题:
将您的复选框与视图控制器连接,如下所示:
class ViewController: NSViewController {
@IBOutlet weak var checkBox1: NSButton!
@IBOutlet weak var checkBox2: NSButton!
}
然后为第一个复选框添加IBAction为向视图控制器使用if别的也切换所述第二复选框,像:
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)
}
}
结果:
1
有此方法在UISwitch
类:
func setOn(Bool, animated: Bool)
例子:
yourSwitch.setOn(true, animated: true)
为了TWI交换机相互连接起来,你必须写一些更复杂。如果您在故事板中创建视图,代码看起来就像这样。
class ViewController: UIViewController {
@IBOutlet weak var checkBox1: UISwitch!
@IBOutlet weak var checkBox2: UISwitch!
}
然后你的第一个复选框使用的,如果其他人也切换第二个复选框,这样添加IBAction为到视图控制器:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var firstSwitch: UISwitch!
@IBOutlet weak var secondSwitch: UISwitch!
@IBAction func firstValueChanged() {
secondSwitch.setOn(firstSwitch.isOn, animated: true)
}
@IBAction func secondValueChanged() {
firstSwitch.setOn(secondSwitch.isOn, animated: true)
}
}
相关问题
- 1. HTML复选框在某些情况下不可点击
- 2. Android复选框状态不要改变状态后点击一下
- 3. 如果单击复选框,只更改ListViewItem的选中状态
- 4. 如果用户点击复选框,我该如何更改按钮的状态
- 5. 如何在不调用onChange事件的情况下模拟更改复选框
- 6. 如何在不触发更改事件的情况下检查复选框?
- 7. #android如何在Baseadapter中对多个复选框进行状态更改,只需点击一个复选框?
- 8. 如何在不点击listview委托的情况下更改按钮的文本?
- 9. Redux Reducer - 如何在不改变状态的情况下更新对象值?
- 10. 在其他状态下点击按钮后复选框
- 11. 如何在不更改整个班级的情况下更改复选框的颜色?
- 12. 复选框:通过Ajax更改复选框的状态
- 13. 如何保持asp.net中复选框的点击状态
- 14. 更改Form2上的复选框的状态并保持状态
- 15. 如何更改复选框标签的颜色,同时在点击时切换选中/未选中状态
- 16. LongListSelector与TextBlock和复选框 - 如何更改复选框的检查状态
- 17. 如何在不改变'状态'的情况下在点击加上渲染组件?
- 18. 从alertdialog更改复选框状态
- 19. JQuery从Ajax更改复选框状态
- 20. 复选框更改X按钮被按下时的状态
- 21. Jquery比较复选框的原始状态与更改状态
- 22. 更改状态时,Radiobutton /复选框保持选中状态
- 23. ObjectListview复选框列没有改变状态,当点击
- 24. 如何在不重复Swift的情况下生成随机数
- 25. 复选框在默认情况下knockout.js
- 26. 如何检查更改事件的复选框状态
- 27. 如何更改listview中复选框的状态?
- 28. 如何在没有工具栏的情况下更改状态栏颜色?
- 29. 如何在默认情况下选中一个复选框angularjs
- 30. 如何设置复选框在默认情况下选择Wix
谢谢你的快速回复。我必须写更具体的问题。你的答案帮助了我,但我需要知道它是如何在一个mac程序上运行的,如果选中,那么它将会出现一个复选标记。我不使用UISwitch。我可以在NSButton和Any对象之间进行选择。 – Feindpak
更新了我的答案@Feindpak – ronatory