UIPinchGestureRecognizer需要两次触摸

时间:2012-05-04 02:24:38

标签: iphone objective-c ipad uigesturerecognizer

我在视图中添加了以下手势识别器:

UIPinchGestureRecognizer *pch= [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(ViewPinching:)];
[[self view] addGestureRecognizer:pch];

// and

UIPanGestureRecognizer *d = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(ViewDragging:)];
[d setMinimumNumberOfTouches:4];
[[self view] addGestureRecognizer:d];

我想在拖动4个手指时触发事件,当我这样做时,Pinch手势识别器会触发而不是Pan手势识别器。我想如果我限制UIPinchGestureRecognizer仅在touches.count = 2

时触发,我可能会解决这个问题

修改

我不知道这是否合适。也许我可以补充一下:

 UIPinchGestureRecognizer *pch= [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(ViewPinching:)];
[[self view] addGestureRecognizer:pch];

每次触摸开始,如果有两个触摸,我将添加该事件并将其删除ontouchesended。

1 个答案:

答案 0 :(得分:2)

这最终是一个坏主意。 iOS 5中的4指捏将关闭您的应用程序,4指平移将切换到下一个应用程序(显然不适合用户体验)。如果绝对必须使用4个手指,请创建UIGestureRecognizer的子类并自己执行捏合逻辑。让我为没有示例而提前道歉,因为您的用例非常独特。