gpt4 book ai didi

ios - 快速检查,未检查按钮

转载 作者:行者123 更新时间:2023-11-30 13:10:05 25 4
gpt4 key购买 nike

我有两个修改后的按钮作为带有子类的复选框,复选框是siCheckboxnoCheckbox。如果siCheckbox被选中,其他的将被取消选中。
问题是,如果我再次按 siCheckBox 会将 noCheckbox 设置为选中状态,并将 siCheckBox 设置为未选中状态

这是我的代码

import UIKit
class Paso1: UIViewController, CheckBoxDelegate {

@IBOutlet weak var siCheckBox: CheckBox!
@IBOutlet weak var noCheckBox: CheckBox!

override func viewDidLoad() {
super.viewDidLoad()

self.siCheckBox.delegate = self
self.noCheckBox.delegate = self
}

func checkBoxDidChange(checkbox: CheckBox) {
if checkbox == self.siCheckBox {
self.noCheckBox.isChecked = !checkbox.isChecked

} else {
self.siCheckBox.isChecked = !checkbox.isChecked

}
}

这是按钮复选框的子类

protocol CheckBoxDelegate {
func checkBoxDidChange(checkbox: CheckBox) -> Void
}
import UIKit

class CheckBox: UIButton {

// Images
let checkedImage = UIImage(named: "check-greenb")! as UIImage
let uncheckedImage = UIImage(named: "check-baseb")! as UIImage

var delegate: CheckBoxDelegate?
// Bool property
var isChecked: Bool = false {
didSet{
if isChecked == true {
self.setImage(checkedImage, forState: .Normal)
} else {
self.setImage(uncheckedImage, forState: .Normal)
}
}
}

override func awakeFromNib() {
self.addTarget(self, action: #selector(CheckBox.buttonClicked(_:)), forControlEvents: UIControlEvents.TouchUpInside)
self.isChecked = false
}

func buttonClicked(sender: UIButton) {
isChecked = !isChecked
self.delegate?.checkBoxDidChange(self)
}}

有没有任何例子或更好的方法来做到这一点?

最佳答案

如果您不希望按钮更改其已选中的属性,只需在 buttonClicked 函数中添加条件逻辑即可。

func buttonClicked(sender: UIButton) {
if !isChecked {
isChecked = !isChecked
self.delegate?.checkBoxDidChange(self)
}
}

关于ios - 快速检查,未检查按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38841184/

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