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 回答