如何解决自定义 UITableViewCell 按钮未执行其功能
我的视图控制器中有一个带有自定义单元格的 tableview。在单元格中,我有一个函数可以做某事。我有一个正在执行的打印语句。
@objc func cellButtonTapped() {
cellText.backgroundColor = .red
print("cell button tapped")
}
当我点击按钮时,我确实在控制台中看到了打印语句,但它并没有像我想要的那样更改单元格背景颜色。
这是tableViewCell中的cellText
let cellText : UITextField = {
let cellText = UITextField()
cellText.isUserInteractionEnabled = false
return cellText
}()
这是它在单元格中的布局。我不认为它的布局很重要
override func layoutSubviews() {
super.layoutSubviews()
contentView.addSubview(cellText)
contentView.addSubview(cellButton)
cellText.frame = CGRect(x: 0,y: 0,width: contentView.width - 30,height: contentView.height)
cellButton.frame = CGRect(x: cellText.right,width: 30,height: contentView.height)
}
解决方法
我必须做的是在 viewController 中创建一个变量,其中包含单元格所需的值。就我而言,我希望保留一个布尔值。
var isBool : Bool = false
然后我让按钮的函数改变变量值:
@objc func sendButtonTapped() {
isBool = !isBool
tableView.reloadData()
print("send button tapped")
}
每次单击按钮时,这里的函数都会更改 bool 的值。
我将值传输到 tableview 中带有 cellForRowAt 的单元格。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。