UILongPressGestureRecognizer两次触发

当你使用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];

    }

}

 

UIPichGestureRecognizer捏合手势、UIRotationGestureRecognizer旋转手势等也会两次触发。

posted @ 2014-03-05 10:59  nomine  阅读(425)  评论(0编辑  收藏  举报