遇到问题:
使用长按手势时直接调用方法会不作任何判断会导致两次响应事件
主要原因:
长按手势会分别在UIGestureRecognizerStateBegan
和UIGestureRecognizerStateEnded
状态时调用响应函数
解决办法:
在响应事件中增加手势状态的判断,根据具体的应用情况在相应的状态中执行操作
if (longPressGesture.state == UIGestureRecognizerStateBegan) {
// do something
}else if (longPressGesture.state == UIGestureRecognizerStateEnded){
// do something
}