2017-10-23 1 views
0

UIPinchGestureRecognizerまたはUIRotationGestureRecognizerのタッチ数を指定する方法については、マニュアルでは何も見つかりませんでした。 私はどこでも見つけたのは2本の指でしか動かないということですが、私の実験では3本以上の指でも動作します。 さらに、アクションでは、numberOfTouchesプロパティは実際の指の数を返しません。 他の3本指の認識装置とすべてが混同してしまうので、2本の指だけを制限したいと思います。 あなたは、私にそれをする良い方法を提案できますか?ありがとう。UIPinchGestureRecognizerがちょうど2本の指でのみ動作するように制限する

答えて

0

docsによるUIPinchGestureRecognizer

を扱う[...] 2つのタッチ[...]

を伴うジェスチャーをつまんどうやらそれは2つだけのタッチを考慮したが、追加のタッチが同時に起こることを可能にします。

あなたの質問に答えるには、他の方法で実際のタッチ数を取得し、そのカウントが2より大きい場合にピンチアクションを防止することができます。同じ方法でジェスチャーを処理するジェスチャー認識機能を追加する方法(例えば、UITapGestureRecognizer複数、タッチの可能な数ごとに1つ)。もう1つは、ジェスチャーレコグナイザがインストールされているビューのtouchesBegantouchesMovedをオーバーライドし、付属のtouchesアレイのカウントを使用することです。

(並列に複数のジェスチャ認識装置の管理が問題に取得することができますので、私は第一、第二のアプローチで行くと思います。)

0

あなたが心配ピンチジェスチャー認識器にデリゲートを追加します。

gestureRecognizer(_:, shouldRecognizeSimultaneouslyWith:)を実装し、進行中の別の認識器がある場合にピンチジェスチャを無視する場合は、falseを返します。

関連する問題