长按手势识别器仅在手指抬起时才会被触发

时间:2015-04-01 02:48:47

标签: ios objective-c uitableview swift uigesturerecognizer

我对长按手势识别器有一个有趣的问题。我将其中一个放在UITableView上,只有在长按后抬起手指才会起作用。所以基本上,我会把手指放在一个单元格上,然后当我抬起手指时,它会触发长按。我通过在长按开始和结束时放printn来解决这个问题,并且在我抬起手指后都开火了。我认为tableViews默认panGestureRecognizer可能会干扰longPressGestureRecognizer。这是viewDidLoad中的代码:

    var longPress:UILongPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: "handleLongPress:")
    longPress.minimumPressDuration = 0.06
    longPress.delegate = self
    self.tableView.addGestureRecognizer(longPress)
    longPress.requireGestureRecognizerToFail(self.tableView.panGestureRecognizer)

1 个答案:

答案 0 :(得分:2)

在单元格中触摸不会导致表格视图的panGestureRecognizer失败,因此请删除requireGestureRecognizerToFail方法,然后在手指静止时应该进入.Began状态。