Skip to content

Instantly share code, notes, and snippets.

@hrdtbs
Last active April 12, 2018 08:59
Show Gist options
  • Save hrdtbs/948befbc7810d9f58c917a969c562212 to your computer and use it in GitHub Desktop.
Save hrdtbs/948befbc7810d9f58c917a969c562212 to your computer and use it in GitHub Desktop.
スワイプジェスチャーとパンジェスチャー

スワイプジャスチャーとパンジャスチャーは共にタッチポイントの並進移動を伴うものですが、両者の関係はスワイプジャスチャー ⊆ パンジャスチャーです。

つまりスワイプは常にパンですが、パンはスワイプでない可能性があります。この違いはレコグナイザーによるものです。

レコグナイザーについて

パンジャスチャーのレコグナイザーでは、並進移動の開始を探して、時間の経過とともにどの方向にも移動を報告し続けるのに対して、 スワイプジャスチャーのレコグナイザーはユーザーのタッチが必要な方向に直線的に移動したかどうかを瞬時に判断します。

競合について

これらが競合した場合、パンジャスチャーは連続的であるのに対し、スワイプジャスチャーは離散的なため、パンジャスチャーが最初に認識され他のレコグナイザーは除外されるでしょう。

一般的な使用例

スワイプジェスチャーは、指を特定の方向にドラッグすると機能します。例えば、テーブルビューコントローラ内のスワイプ可能なセル。

パンジェスチャーは、指を任意の方向にドラッグすると機能します。あなたはそれに加速または減速を与えることができます。例えば、ある場所から別の場所にオブジェクトを移動したり、スピンナーを回転させたりします。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment