我在 tableviewcell 中有一个按钮。我想分别捕捉按钮点击事件和单元格点击事件。当按钮被点击时,会引发button-click事件。当单元格的其他部分被点击时,会引发cell-click事件。
虽然问题是当我点击按钮时,按钮点击事件 share
没有执行,但是单元格选择事件被执行。
import UIKit
class ArticleTableViewCell: UITableViewCell {
@IBOutlet weak var time: UILabel!
@IBOutlet weak var digest: UILabel!
@IBOutlet weak var share: UIButton!
override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
@IBAction func share(_ sender: Any) {
print("share")
}
}
最佳答案
可以通过delegate
方法didSelectRowAtIndexPath
获取整个cell的点击事件。您必须将 TableView 的委托(delegate)设置为文件的所有者( Controller )。
为了获得按钮的点击事件,我总是采用以下变通方法。将标记添加到按钮作为 indexpath.row
。将目标添加到按钮。在选择器函数中,您可以使用 sender.tag
获取单击了哪个单元格按钮。
关于ios - 如何区分tableviewcell点击事件中的button和tableviewcell点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48397595/