Ios 当我一次点击两个视图时,如何只考虑一个手势

Ios 当我一次点击两个视图时,如何只考虑一个手势,ios,ios5,ios6,ios7,ios6.1,Ios,Ios5,Ios6,Ios7,Ios6.1,我在我的应用程序中创建了一个视图,再次创建了十个类似网格的视图,并在十个视图上添加了UITapGestureRecograiser,如果用户点击网格中的一个视图,我将调用一个方法,根据它的标记值,我将创建一个特定类的新视图实例。但是如果用户一次点击两个视图,或者相差几秒钟,我就会遇到问题,然后这个方法被调用了两次。它在我的应用程序中产生了问题。我需要解决这个问题。我没有得到任何解决方案。任何人都知道这个句柄吗?请尽快帮助我 谢谢和问候 swathi我只需要创建一个布尔值,它在这些视图调用的每个方

我在我的应用程序中创建了一个视图,再次创建了十个类似网格的视图,并在十个视图上添加了UITapGestureRecograiser,如果用户点击网格中的一个视图,我将调用一个方法,根据它的标记值,我将创建一个特定类的新视图实例。但是如果用户一次点击两个视图,或者相差几秒钟,我就会遇到问题,然后这个方法被调用了两次。它在我的应用程序中产生了问题。我需要解决这个问题。我没有得到任何解决方案。任何人都知道这个句柄吗?请尽快帮助我

谢谢和问候
swathi

我只需要创建一个布尔值,它在这些视图调用的每个方法中都设置为NO

在方法末尾,将其设置为“是”

-(void)view1tapped{
       BOOL shouldRecognizeTap = enabled;
       self.enabled = NO;
       if (shouldRecognizeTap){
               // do your stuff here
       }
       self.enabled = YES;
} 

-(void)view2tapped{
       BOOL shouldRecognizeTap = enabled;
       self.enabled = NO;
       if (shouldRecognizeTap){
               // do your stuff here
       }
       self.enabled = YES;
} 
另外,在您的手势识别器委托方法中,我希望您正在检查识别器状态,如下所示

-(void) handleTapGesture:(UIGestureRecognizer *) sender {
    if (sender.state != UIGestureRecognizerStateEnded)  // <---
        return;  

    sender.enabled = NO // (or disable all the other gesture recognizers).
    // do your stuff here   
    sender.enabled = YES;
}

您能更具体地说明一下您在该方法中所做的事情吗?当调用该方法时,在该方法中禁用窗口或应用程序的事件,以便在您稍后启用它之前它不会接收事件。