【发布时间】:2012-05-04 02:24:37
【问题描述】:
我已将以下手势识别器添加到视图中:
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];
每次触摸开始时,如果有两次触摸,我将添加该事件并在触摸结束时将其删除。
【问题讨论】:
-
坏主意:四指是一种多任务手势,会在 iOS 5 上关闭您的应用
-
真的。我该如何限制它,使其仅适用于 2 个手指和 4 个或更多然后...
-
不。您需要自己的 UIGestureRecognizer 子类,因为 UIPinchGestureRecognizer 仅响应 2 或 1 根手指触摸(任何更多都被忽略)。
标签: iphone objective-c ipad uigesturerecognizer