gpt4 book ai didi

ios - 如何实现 BEMCheckBox IOS 库的 didTapCheckBox?

转载 作者:行者123 更新时间:2023-11-28 11:37:56 26 4
gpt4 key购买 nike

我是 Ios 的新手,我很难理解协议(protocol)和委托(delegate)的概念。我正在实现一个名为 BEMCheckBox 的库 https://github.com/Boris-Em/BEMCheckBoxhttps://cocoapods.org/pods/BEMCheckBox用于实现单选按钮。它的文档非常具有描述性,我使用它成功添加了复选框,将它们组合在一起作为单选框。

@IBOutlet var inarelashipcb: BEMCheckBox!
@IBOutlet var complicatedcb: BEMCheckBox!
@IBOutlet var singlecb: BEMCheckBox!
var groupbx:BEMCheckBoxGroup!

func initialize(){
groupbx = BEMCheckBoxGroup(checkBoxes: [inarelashipcb,
complicatedcb, singlecb])
groupbx.selectedCheckBox = singlecb
groupbx.mustHaveSelection = true
}

现在我想使用 didTapCheckBox 方法,但我不明白该怎么做。文档很模糊,没有相应的片段。作为记录,这是文档中的内容

"BEMCheckBox使用委托(delegate)来接收复选框事件,委托(delegate)对象必须符合BEMCheckBoxDelegate协议(protocol),由两个可选方法组成:

didTapCheckBox:每次点击复选框时发送给委托(delegate),在其属性更新(打开)之后,但在动画完成之前。”

有任何片段可以帮助我使用 delgate 以便我可以实现 didTapCheckBox 方法吗?

最佳答案

func initialize(){
groupbx = BEMCheckBoxGroup(checkBoxes: [inarelashipcb,
complicatedcb, singlecb])
groupbx.selectedCheckBox = singlecb
groupbx.mustHaveSelection = true
for checkbox in groupbx {
checkbox.delegate = self
}

}

必须在viewController的viewDidLoad中调用initialize

override func viewDidLoad() {

// Do your work
initialize()
}

编译器会报错,如果你加上这段代码错误就会消失

extension ViewController : BEMCheckBoxDelegate {
func didTap(_ checkBox: BEMCheckBox) {
//do your work
// if you have multiple checkboxes, then do like that
//if checkBox == checkBox1 {
//do work for checkbox1
//} else if {
// ..
//}
}
}

不要忘记添加以下行

导入 BEMCheckBox

关于ios - 如何实现 BEMCheckBox IOS 库的 didTapCheckBox?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54566983/

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