Ios 如何清除UIgestureRecognitor的事件队列?

Ios 如何清除UIgestureRecognitor的事件队列?,ios,uipinchgesturerecognizer,Ios,Uipinchgesturerecognizer,我有一个接收捏手势的UIView。当我掐它时,看起来好像掐事件在排队,所以在我已经停止掐之后,我仍然会收到掐事件。我可以清除事件队列吗?如果是,如何进行?如果没有,我可以做什么来确保我的事件不排队 我正在iPad4和iOS7上进行测试 挤压手势用于缩放屏幕上的图像。我注意到,当我放大然后开始缩小而不释放屏幕时,事件会排队。在开始缩小之前,图像仍会放大一点。我使用此功能根据手势缩放图像: - (IBAction)pinch:(id)sender { NSLog(@"zooming");

我有一个接收捏手势的UIView。当我掐它时,看起来好像掐事件在排队,所以在我已经停止掐之后,我仍然会收到掐事件。我可以清除事件队列吗?如果是,如何进行?如果没有,我可以做什么来确保我的事件不排队

我正在iPad4和iOS7上进行测试

挤压手势用于缩放屏幕上的图像。我注意到,当我放大然后开始缩小而不释放屏幕时,事件会排队。在开始缩小之前,图像仍会放大一点。我使用此功能根据手势缩放图像:

- (IBAction)pinch:(id)sender {
    NSLog(@"zooming");
    float s = [(UIPinchGestureRecognizer*)sender scale];
    s+=0.9*(1-s);

    CATransform3D old = photoView.layer.transform;

    //limit to 128*128 minimum
    if (photoView.frame.size.width * s < 128) s=(float)128/photoView.frame.size.width;
    if (photoView.frame.size.height * s < 128) s=(float)128/photoView.frame.size.height;

    //limit to 768*768 maximum
    if (photoView.frame.size.width * s > 768) s=(float)768/photoView.frame.size.width;
    if (photoView.frame.size.height * s > 768) s=(float)768/photoView.frame.size.height;

    CATransform3D new = CATransform3DScale(old,s,s,1);
    photoView.layer.transform = new;
}

//logs
2014-02-27 16:28:10.728 Medicatie Controle App[338:60b] zooming started
2014-02-27 16:28:10.730 Medicatie Controle App[338:60b] zooming ended
2014-02-27 16:28:10.745 Medicatie Controle App[338:60b] zooming started
2014-02-27 16:28:10.746 Medicatie Controle App[338:60b] zooming ended
2014-02-27 16:28:10.746 Medicatie Controle App[338:60b] zooming started
-(iAction)夹点:(id)发送方{
NSLog(@“缩放”);
浮点s=[(UIPinchGestureRecognizer*)发送方刻度];
s+=0.9*(1-s);
CATTransferM3D old=photoView.layer.transform;
//最小限制为128*128
如果(photoView.frame.size.width*s<128)s=(float)128/photoView.frame.size.width;
如果(photoView.frame.size.height*s<128)s=(float)128/photoView.frame.size.height;
//最大限制为768*768
如果(photoView.frame.size.width*s>768)s=(float)768/photoView.frame.size.width;
如果(photoView.frame.size.height*s>768)s=(float)768/photoView.frame.size.height;
CATTransformM3D新=CATTransformM3DSCALE(旧、s、s、1);
photoView.layer.transform=新建;
}
//日志
2014-02-27 16:28:10.728医疗控制应用程序[338:60b]开始缩放
2014-02-27 16:28:10.730医疗控制应用程序[338:60b]缩放结束
2014-02-27 16:28:10.745医疗控制应用程序[338:60b]开始缩放
2014-02-27 16:28:10.746医疗控制应用程序[338:60b]缩放结束
2014-02-27 16:28:10.746医疗控制应用程序[338:60b]开始缩放

这是如何体现的?你是如何测试的,你看到了什么?你有日志吗?你检查手势的状态了吗?请添加一些代码。您可以在
pinch:
方法的开头和结尾添加一些日志,并将它们发布到此处?@JamieForrest您希望我在此处记录什么?@Kevin只是字符串,上面写着“pinch的开始”和“pinch的结束”。我想看看时间戳。此外,在IB中,是否已选中视图中的
夹持手势识别器
取消设置?