Ios 当我一次点击两个视图时,如何只考虑一个手势
我在我的应用程序中创建了一个视图,再次创建了十个类似网格的视图,并在十个视图上添加了UITapGestureRecograiser,如果用户点击网格中的一个视图,我将调用一个方法,根据它的标记值,我将创建一个特定类的新视图实例。但是如果用户一次点击两个视图,或者相差几秒钟,我就会遇到问题,然后这个方法被调用了两次。它在我的应用程序中产生了问题。我需要解决这个问题。我没有得到任何解决方案。任何人都知道这个句柄吗?请尽快帮助我 谢谢和问候Ios 当我一次点击两个视图时,如何只考虑一个手势,ios,ios5,ios6,ios7,ios6.1,Ios,Ios5,Ios6,Ios7,Ios6.1,我在我的应用程序中创建了一个视图,再次创建了十个类似网格的视图,并在十个视图上添加了UITapGestureRecograiser,如果用户点击网格中的一个视图,我将调用一个方法,根据它的标记值,我将创建一个特定类的新视图实例。但是如果用户一次点击两个视图,或者相差几秒钟,我就会遇到问题,然后这个方法被调用了两次。它在我的应用程序中产生了问题。我需要解决这个问题。我没有得到任何解决方案。任何人都知道这个句柄吗?请尽快帮助我 谢谢和问候 swathi我只需要创建一个布尔值,它在这些视图调用的每个方
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;
}
您能更具体地说明一下您在该方法中所做的事情吗?当调用该方法时,在该方法中禁用窗口或应用程序的事件,以便在您稍后启用它之前它不会接收事件。