如何从一个手势识别器转到另一个手势识别器

时间:2012-01-04 02:56:16

标签: ios ios5 uigesturerecognizer uipangesturerecognizer

我有一个用OpenGLES绘制的地图,我有一个平移手势识别器,其中maximumNumberofTouches设置为1以平移地图和一个用于缩放的捏合手势识别器。我想在完成缩放后开始平移,(一个手指从屏幕上抬起)但是平移手势识别器不会启动,直到完成pinc​​hgesturerecognizer,这是当它检测到屏幕上没有手指时。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

可以通过委托方法允许两个手势都处于活动状态:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer 
  shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    //  The two recognizers using the delegate (scale and rotate) should both be active.
    //
    return YES;
}

并保留跟踪用户是否正在缩放的​​BOOL,不允许在BOOL为YES时执行平移手势中的代码。通过检查touchesMoved:withEvent方法(或者可能是其他一些UIGestureRegonizer方法)中的触摸次数来改变BOOL值。

我认为这应该有用,我在应用程序中执行类似的操作,允许缩放,旋转和拖动,只有当用户没有缩放/旋转时才允许拖动。

〜祝你好运