2

iPhone / iPad アプリケーションでジョグ ホイールを作成しようとしています。UIGestureRecognizer をサブクラス化して、独自のレコグナイザーを記述できることはわかっています。おそらくパンジェスチャと組み合わせて、円運動を検出するものを作成する方法(主にその背後にある数学)を知っている人はいますか?

ありがとう

4

1 に答える 1

5

この質問は簡単ではありません。考えられる解決策を考えるのに時間を費やし
ます。必要なのは、設定する必要があるいくつかの重要なプロパティだと思います。

  • 円運動の中心 (ジョグホイールの中心はわかっているので、この場合は問題ありません)
  • 移動が行われる回廊。
    • したがって、内側の半径と外側の半径が必要です。

今、あなたはこのようなものを持っています (残念ながら、私は十分な評判を得ていないので、リンクのみ: http://img17.imageshack.us/img17/4416/bildschirmfoto20100721u.png

ここで、この背後にある計算が始まります。
まず、廊下を 4 つの四分の一に配置します。

  • 0°から90°まで
  • 90°から180°まで
  • 180°から270°まで
  • 270°から360°

4分の1ごとに、指がいつ動いているかを把握する必要があります(0°の線が中心点から上にまっすぐ伸びているとしましょう):

  • 指が第 1 四半期にある場合、x が左に変化した場合、回転は反時計回りでなければならないことがわかります。x が右に変わる場合、回転は時計回りでなければなりません。

このロジックをすべての四半期に適用します。これで、ジョグ ホイールが時計回りか反時計回りかがわかります。指が決して廊下を離れないようにする必要があります (このロジックをテストし、廊下を離れるために動きが停止した場合は、廊下を大きくしてください - CrystalSkull のコメントに感謝します: 最小幅として 44px を使用してください回廊はヒューマン インターフェイス ガイドラインに適用されます)。

まとめ
これで、中心点と指が移動できる回廊が必要であると結論付けることができます。指がどの四分の一にあるかを把握し、(x 値を使用して) 回転が時計回りか反時計回りかを調べる必要があります。 -時計回り。

これが少しお役に立てば幸いです。

于 2010-07-21T09:32:46.347 に答える