UITableViewCell添加Button,但是Button的事件不响应

由于这个问题困扰了我好久,从网上也没找到答案,最后无意间想到的,避免和我有相同问题的人走弯路,记录一下。

首先UITableView,添加了UITableViewCell,里面加了UIButton。点击按钮只能触发didSelectRowAtIndexPath,

我的原因是在cell中添加按钮时

没有用

        [self.contentView addSubview:self.btn];

用了

        [self addSubview:self.btn];

坑爹啊。。。。。。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你可以在每个表格行的最后一列添加一个自定义的单元格,并在该单元格中放置一个按钮。具体步骤如下: 1. 创建一个带有按钮的自定义单元格类。 ```swift class ButtonTableViewCell: UITableViewCell { let button = UIButton(type: .system) override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) button.setTitle("Button", for: .normal) button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside) contentView.addSubview(button) button.translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate([ button.topAnchor.constraint(equalTo: contentView.topAnchor), button.bottomAnchor.constraint(equalTo: contentView.bottomAnchor), button.trailingAnchor.constraint(equalTo: contentView.trailingAnchor), button.widthAnchor.constraint(equalToConstant: 80) ]) } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } @objc func buttonTapped() { // Handle button tap event } } ``` 2. 注册该自定义单元格类。 ```swift tableView.register(ButtonTableViewCell.self, forCellReuseIdentifier: "ButtonCell") ``` 3. 在 `cellForRowAt` 方法中使用该自定义单元格类并返回。 ```swift func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "ButtonCell", for: indexPath) as! ButtonTableViewCell // Configure the cell return cell } ``` 这样每行最后一列就会显示一个按钮。你可以根据需要对按钮进行自定义。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值