首页 > 解决方案 > Swift 中带有按钮的 UITableViewCell

问题描述

我有一个带有单元格的 UITableView,每个单元格都有产品信息、产品名称和产品 ID。每个单元格都有一个按钮,可将您带到另一个屏幕,其中包含产品的更多详细信息。我的问题是,当我选择一个单元格时,由于didSelectRowAtIndexPath,我已经获得了属于所选单元格的产品的名称和ID,但是当我触摸单元格内的按钮时,我没有触发didSelectRowAtIndexPath,我不能获取产品的 id,因此我无法转到下一个屏幕并显示与所选产品相关的信息。我能做什么?

标签: swiftuitableviewuibutton

解决方案


我会问你哪些有助于解决这个问题的问题是:

您是否使用IBAction转换作为按钮的动作触发器?

如果是,那么IBAction 将位于UITableViewCell应该包含名称、id 和产品信息的值的其中。IBOutletUILabels

例如:

class SampleCell: UITableViewCell {
  @IBOutlet var nameLabel: UILabel!
  @IBOutlet var idLabel: UILabel!
  @IBOutlet var informationLabel: UILabel!


 @IBAction func action(button: UIButton) {
     // you can obtain your information once the button is triggered before navigating

     let id = self.idLabel.text
     let name = self.nameLabel.text
     let information = self.informationLabel.text
     
    // navigate to new screen using delegate protocols
 }
}

如果您不使用 IBOutlets 和 IBActions 如下,那么我建议您使用它们,并为产品单元格创建一个自定义 TableViewCell。这是访问您的手机信息的最简单方法


推荐阅读