0

ユーザーがタッチで時計の時針と分針を回転させ、アラームを設定できる目覚まし時計アプリを開発したいと考えています。どうすればそれを達成できますか? コードを入れてみました

    -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
     {
         _imgHand.transform = CGAffineTransformRotate(_imgHand.transform, RADIANS_TO_DEGREES(1));
     }

しかし、これは私が望む効果を与えていません。はるかに速く、一方向にのみ移動します。

指の回転、時計回り/反時計回りに応じてその画像を移動するにはどうすればよいですか。また、アラーム針の角度で時間を取得するにはどうすればよいですか。

ありがとう。

4

1 に答える 1

0

回転を毎回 1 度だけ動かしています。タッチの位置に基づいて、手の角度を計算する必要があります。

時計の中心にある原点を基準としたタッチ ポイント x、y があるとします。三角法で角度を計算できます。

CGFloat angle = atan2(y, x);
_imgHand.transform = CGAffineTransformMakeRotation(angle);
于 2013-11-13T22:00:12.600 に答える