UILongPressGestureRecognizer *longGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longGestureAction:)];
longGesture.cancelsTouchesInView = NO;
[self.view addGestureRecognizer:longGesture];
其实是因为响应状态的不同。所以,要在你的方法里面加上状态的判断。
- (void)longGestureAction:(UIGestureRecognizer *)gesture {
if (gesture.state == UIGestureRecognizerStateBegan) {
[self yourMethod];
}
}
要不然 UIGestureRecognizerStateBegan 和 UIGestureRecognizerStateEnded两种状态都会调用这个方法。