UITableViewCell 内的 UIButton 没有收到点击?

Posted

技术标签:

【中文标题】UITableViewCell 内的 UIButton 没有收到点击?【英文标题】:UIButton inside UITableViewCell not receiving taps? 【发布时间】:2018-02-12 03:03:57 【问题描述】:

我在表格视图中有这个书签按钮:

由于某种原因,它没有响应触摸。我有一个普通的 IBOutlet 和一个从未调用过的打印语句。但是,当我点击书签时,单元格不会像被点击一样。但是,当我点击书签时,单元格不会像被点击一样。因此,在我看来,系统似乎知道按钮应该接收水龙头(而不是单元格),但 IBOutlet 不起作用。有任何想法吗?按钮及其超级视图都启用了用户交互。

【问题讨论】:

你需要一个 IBAction 而不是 IBOutlet 来做与按钮交互的事情。 您能否分享您的应用截图,其中包含该单元格并显示您与单元格的连接 【参考方案1】:

cellForRowAtIndexPath() 方法中将目标添加到书签按钮,然后单击书签按钮执行您想做的任何事情 示例:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
    let cell = tableView.dequeueReusableCellWithIdentifier("cellReuseIdentifier")
    cell.Bookmark.addTarget(self, action: #selector(tapBookMark(_:)), for: .touchUpInside)
    return cell



func tapBookMark(_ sender: UIButton) 
     print('bookMark tapped')

【讨论】:

以上是关于UITableViewCell 内的 UIButton 没有收到点击?的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewCell 内的多个堆栈视图内的多行标签

UITableViewCell 内的 UIView 上的 UIGestureRecognizer

UITableViewCell 内的 UIStackView

如何增加 UItableviewcell 内的 UItableview 高度?

捏放大到 UITableViewCell 内的 UIImageView

iOS - UITableViewCell 内的 UIScrollView 内的 UIView 未触发 UITapGestureRecognizer