画面上で同時に複数の指を検出する最良の方法を探しています。タップやピンチを検出していません。複数のタッチが発生しているという事実だけです。そのためのジェスチャー認識機能はないようです。最善の方法は何ですか?
5 に答える
touchesBegan、touchesMoved、および touchesEnded メソッドでは、1 つのパラメーターが event であり、これは UIEvent オブジェクトです。画面上の指の数は [[event allTouches]count] です。
[Josh Hinman が以前に間違っていたと指摘したので編集 -- 同じメソッドの touches パラメータで [touches count] を使用するという以前の提案は機能しません。]
-touchesBegan:withEvent:
メソッドを読んでください。これは、マルチタッチイベント処理へのエントリポイントです。
マルチタッチイベントに関する開発者のライブラリリンクは次のとおりです 。https ://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/MultitouchEvents/MultitouchEvents.html
UITapGestureRecognizerクラスを使用して、numberOfTouchesRequiredプロパティを2に設定してみてください。
これは、ビューでmultipleTouchEnabledがYESに設定されている場合にのみ機能することに注意してください。
ワンタッチ/マルチタッチは透過的です - タッチが開始/移動/終了/タップされた場所に関する通知を受け取るだけです。2 つのタッチが同時に発生した場合は、両方の通知を受け取ります。
表示されるタッチ シーケンスがピンチで構成されているかどうかを判断する組み込み関数については知りませんが、Apple の「タッチ」サンプル コードを参照してインスピレーションを得ることができます。
https://developer.apple.com/library/ios/#samplecode/Touches/