【问题标题】:UIPinchGestureRecognizer require two touchesUIPinchGestureRecognizer 需要两次触摸
【发布时间】: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


【解决方案1】:

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

【讨论】:

  • 我完全同意谢谢你提醒我。我正在创建一个应用程序,根据手势我将触发特定命令,因此我希望拥有尽可能多的手势。我将启用 4 个或更多手指的捏合,但我想限制用 3 个手指捏合。当我滑动 3 个手指时,捏合方法比 uipan 触发的频率更高......
  • 然后去掉夹子。并让手势独一无二,因为苹果真的开始缩小我们可以使用的手势。也许是一个复选标记手势,或者一个单指旋转手势(这是可能的,而且真的很酷)。
  • 例如 logmein 点火具有所有这些功能。并且捏只能用两根手指在他们的应用程序中工作。我想知道他们是怎么做到的......我会再试一试,如果我不能让它工作,你是对的,我会删除捏合功能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多