当你使用longPress gesture recognizer 时,你可能会发现调用了多次。
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizeralloc] initWithTarget:selfaction:@selector(longPress:)];
longPress.delegate = self;
[self.viewaddGestureRecognizer:longPress];
其实时因为响应不同的状态。所以,要在你的方法里加上状态的判断。可以看到,开始响应,结束响应,如果你不判断的话,都会调用你的方法。
-(void)longPress:(UILongPressGestureRecognizer *)sender
{
if (sender.state == UIGestureRecognizerStateBegan) {
[self yourMethod];
}
}
找了很久,才找到这么解释得简洁明了的文章,文章写得很好