2010-12-27 20 views
2

私はiOS/iPad教育用アプリを開発しています。このアプリでは、2本の手で時計を表示します(時と分)。ユーザーが時計の表面に指を回転させると、時間を前後に動かしたいと思う。これは、単一の指のジェスチャーまたは回転動作になります。iOSで時計回りと反時計回りに

ユーザーが時計回りに時計回りまたは反時計回りに指を回しているかどうかを確認する方法はありますか?

角度を計算した後、角度を30度の「セクション」に変換することを考えました。その後、トリッピングしているセクションのパターンを見てください。

誰かが私が検討していない "whiz bang"ソリューションを持っているのだろうか? 多分エレガントなものでしょうか?

ありがとうございました。

答えて

0

ジェスチャの開始点を公称0,0にし、x軸とy軸が公称0,0を実行する4つの象限に画面を分割します。順番にどの象限にアクセスするのか注意してください。最初の二つの後、あなたは方向性を持っている:あなたがする必要がどのような

 Movement into lower right quadrant followed by movement into upper right is counterclockwise 
     Movement into lower right quadrant followed by movement into lower left is clockwise 
     Movement into lower left quadrant followed by movement into lower right is counterclockwise 
     Movement into lower left quadrant followed by movement into upper left is clockwise 
     Movement into upper left quadrant followed by movement into lower left is counterclockwise 
     Movement into upper left quadrant followed by movement into upper right is clockwise 

     etc etc 
1

は、ちょうど彼らが形成する「三角形」の面積を算出し、少なくとも3点を維持しています。

CGPoint a = lastStart; 
CGPoint b = start; 
CGPoint c = end; 
float area = a.x * b.y - a.y * b.x + a.y * c.x - a.x * c.y + b.x * c.y - c.x * b.y; 

if(area > 0) { 
    // you're moving CCW 
} 
関連する問題