UITableViewCell 中,我试图实现一个 按钮 图像 0x2518419 和 0x2518419 图像 0x2518419 0x25181919。

似乎标准 UIButton 无法实现。所以我创建了一个 UIView ,其中包含一个 UIImageView 和一个 UILabel

你可以在右侧看到这里的实现,“follow trip”按钮(“+”是一个 UIImageView,“follow trip”是一个 UILabel)

ios - Swift:如何使 UIView 在 UITableViewCell 中可点击?-LMLPHP

我现在试图使这样的 UIView(即按钮)可点击,但我找不到方法。

这是我的实现,但它不起作用:

class StationsIntroHeader: UITableViewCell {

    @IBOutlet weak var bigButton: UIView!

    override  func awakeFromNib() {
        super.awakeFromNib()
        let tap = UITapGestureRecognizer(target: self, action: Selector("followTrip:"))
        bigButton.addGestureRecognizer(tap)
    }

    func followTrip(sender:UITapGestureRecognizer) {
        print("tap working")
    }
}

我已确保 User Interaction Enabled UIView 上为 ON,在 UIImageView 和 0x21341 上为 OFF

最佳答案

对我来说,如下所示的示例设置完全有效:

class TableViewController: UITableViewController {
  override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 5
  }

  override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    return tableView.dequeueReusableCellWithIdentifier("CustomCell", forIndexPath: indexPath)
  }
}

class CustomCell: UITableViewCell {
  @IBOutlet weak var bigButton: UIView!

  override func awakeFromNib() {
    super.awakeFromNib()
    let tap = UITapGestureRecognizer(target: self, action: Selector("bigButtonTapped:"))
    bigButton.addGestureRecognizer(tap)
  }

  func bigButtonTapped(sender: UITapGestureRecognizer) {
    print("bigButtonTapped")
  }
}

我没有更改 View 或 ImageView 或标签的任何默认值 userInteractionEnabled。将我的实现与您的实现进行比较,看看您是否可能忘记了某些东西...连接 socket ?

示例项目:https://www.dropbox.com/sh/hpetivhc3gfrapf/AAAf6aJ0zhvRINPFJHD-iMvya?dl=0

为您的项目编辑
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
  let headerCell = tableView.dequeueReusableCellWithIdentifier("StationsIntroHeader") as! StationsIntroHeader
  headerCell.update()
  return headerCell
  // return headerCell.update().contentView
}

关于ios - Swift:如何使 UIView 在 UITableViewCell 中可点击?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33659078/

10-15 06:37