13

ドキュメントを見ると、新しい高度なジェスチャ API は、基本的な { 左、右、上、下 } を超えてスワイプの方向を決定していないようです。

スワイプの開始点と方向が必要です。

基本的なジェスチャをゼロから独自の高度なジェスチャ ライブラリをコーディングする以外に、これを取得する方法はありますか?

そして、これが私の唯一の選択肢である場合、誰かがこれを行うオープンソースコードを教えてくれますか?

4

1 に答える 1

15

とった!ドキュメンテーションは、ここの下部にある「Creating Custom Gesture Recognizers」の下にあります。

基本的に、Apple が提供する 6 つのジェスチャはすべて UIGestureRecognizer から派生したものであり、同じ方法で独自のジェスチャ認識機能を作成できます。

次に、ビューの init 内で、レコグナイザーを接続します。接続するだけで、受信したタッチ イベントが自動的に再ルーティングされます。

実際、デフォルトの動作は、認識エンジンをこれらのイベントのオブザーバーにすることです。これは、ビューが以前と同じようにそれらを取得することを意味し、さらに、レコグナイザーがジェスチャを検出すると、ビュー内で myCustomEventHandler メソッドをトリガーします (レコグナイザーを接続したときにセレクターを渡しました)。

しかし、元のタッチ イベントがビューに到達しないようにしたい場合があり、そのためにレコグナイザーをいじることができます。そのため、それを「オブザーバー」と考えるのは少し誤解を招きます。

あるジェスチャが別のジェスチャを食べる必要がある別のシナリオが 1 つあります。ビューがダブルクリックを受け取るように準備されている場合、シングルクリックを送り返すことはできません。ダブルクリック認識機能が失敗を報告するまで待つ必要があります。成功した場合は、シングル クリックを失敗させる必要があります。明らかに、両方を送り返したくありません。

于 2010-09-28T08:59:48.303 に答える