TableViewCell Swift中的切换(复选框)按钮
Posted
技术标签:
【中文标题】TableViewCell Swift中的切换(复选框)按钮【英文标题】:Toggle (Checkbox) Button in TableViewCell Swift 【发布时间】:2016-10-20 18:09:31 【问题描述】:我是 ios 开发新手,我一直在尝试通过点击单元格来切换 tableviewcell 中的按钮/复选框。我的代码非常幼稚,切换到“检查”图像可以正常工作,但问题是双击单元格时切换回未检查的图像。
我的代码有什么问题?还有没有更好的方法来做到这一点? (也许通过单元本身的委托函数?)
代码示例会很有帮助!谢谢。
var isChecked:Bool = true
在我的 Tableview 类中的 didSelectRowAtIndexPath 函数中调用了以下函数。
let btnCheckBox:UIButton = cell.contactCheckbox
setState(button: btnCheckBox)
func setState(button: UIButton)
let check = UIImage(named: "check_green")
let unCheck = UIImage(named: "un_check_green")
if isChecked
button.setImage(check, for: .normal)
isChecked = false
print("First Tap - Bool is \(isChecked)")
else
button.setImage(unCheck, for: .normal)
isChecked = true
print("Double Tap - Bool is \(isChecked)")
【问题讨论】:
在每个应该调用的方法中执行打印语句,以便您了解点击每个单元格时发生的情况。 【参考方案1】:您应该使用 UIButton ,并为按钮的状态设置图像,示例 选中的 check_green check_red 表示没有 并且每个 UITableviewcell 都必须有一个 isSelected
【讨论】:
换成 UIButton 我遇到了同样的问题。 “检查”工作正常,但切换回“未检查”是问题。 我编辑了代码示例。在我的 tableview 类中确实没有其他内容可显示,该 func 是通过 didSelectRowAtIndexPath 调用的。 'cell' 是一个 customCell 类,其中包含 UIButton 类型的 checkBox 出口。以上是关于TableViewCell Swift中的切换(复选框)按钮的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UIStackView 中切换排列子视图的可见性,这在 tableViewCell swift3 中
如何仅在 swift 中重新加载 tableViewCell?
iOS7 上的 TableViewCell 中不会显示复选标记
滚动时 TableViewCell 中的 Swift 3 UISwitch 丢失状态