iOS - 自定义 TableViewCell 中的 TapRecogniser 无法正常工作

iOS - TapRecogniser in custom TableViewCell not working properly

我正在使用 Xcode 7 Beta,Swift 2 我有一个带有自定义 tableViewCell 的 table 视图。在自定义单元格中有一个 UIImageView 和标签。我也为这个 tableViewCell 定义了一个 testCell class。在图像上(在 table 内)我添加了 UITapRecogniser。我还启用了用户交互

问题:目前我在 table 中有 3 行。当我点击前两行的图片时。什么都没发生。当我单击最后一行中的图像时 - 该操作会在控制台上打印 "DEF"。这与行数无关 - 即使更改为 4、5 或其他任何内容后问题仍然存在。基本上只有最后一行中的图像会被点击。不知道为什么??下面是代码:

//Defining custom class for the TableViewCell
class testCell : UITableViewCell{
@IBOutlet weak var testLabel: UILabel!
@IBOutlet weak var testImage: UIImageView!
}

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 3
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! testCell
    cell.testLabel?.text = "ABC"
    cell.testImage?.image = UIImage(named: "Santa")
    return cell

}

@IBOutlet weak var tableView: UITableView!

//TapGestureRecogniser Function
@IBAction func imageTap(sender: AnyObject) {
    print("DEF")
}

将添加手势识别器调用从 testCell 移动到 cellforrowatindexpath。

   let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! testCell
    cell.testLabel?.text = "ABC"
    cell.testImage?.image = UIImage(named: "Santa")
    let cellTapRecognizer = UITapGestureRecognizer(target: self, action:Selector("imageTap:"))
    cellTapRecognizer.cancelsTouchesInView = false
    cell.testImage?.addGestureRecognizer(cellTapRecognizer)