我在使用长按手势识别器时遇到了一个有趣的问题。我将其中一个放在 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)
最佳答案
在单元格中按下不会导致 TableView 的 panGestureRecognizer 失败,因此删除 requireGestureRecognizerToFail 方法,然后您应该在手指仍处于按下状态时进入 .Began 状态。
关于ios - 长按手势识别器仅在手指抬起时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29382052/