将 LongPressGestureRecognizer 添加到 UITableViewCell

Adding LongPressGestureRecognizer to UITableViewCell

我有一个自定义的 UITableView 单元格,我想向它添加一个长按手势识别器。目前,我是这样做的:

    longPressGesture.minimumPressDuration = 1.0
    longPressGesture.addTarget(self, action: "testFeedback")
    cell.addGestureRecognizer(longPressGesture)

我正在以编程方式执行此操作,因为我找不到检测 IBAction 中哪个单元格被点击的好方法。但是,我很难让它工作我想通过选择器传递一个参数。我不反对在情节提要中这样做,但希望得到一些指导。

谢谢!

testFeedback 函数应该如下所示

func testFeedback(gestureRecognizer:UIGestureRecognizer) {

    if (gestureRecognizer.state == UIGestureRecognizerState.Ended) {
        var point = gestureRecognizer.locationInView(self.tableView)
        if let indexPath = self.tableView.indexPathForRowAtPoint(point)
        {
            println(indexPath.row) /// long press ended
        }
    }
    else if (gestureRecognizer.state == UIGestureRecognizerState.Began){
           /// long press started
    }
}