可能重复:
Can I use CGAffineTransformMakeRotation to rotate a view more than 360 degrees?
我正在尝试创建一个游戏,按下按钮旋转拨号图像,旋转代码出现问题。目标是将图像从当前位置旋转360%,即.4 * 360,将图像旋转144度。谢谢伙计们!
-(IBAction)spin:(id)sender
{
float strenght = DEGREES_TO_RADIANS(.5 * 360);
[UIView animateWithDuration:0.5f delay:0.0f options:UIViewAnimationCurveEaseOut animations:^
{
[spinner_iv setTransform:CGAffineTransformRotate([spinner_iv transform],strenght)];
}
completion:^(BOOL finished)
{
//done
}];
}
答案 0 :(得分:1)
使用CGAffineTransform
使用“最短路径”的UIView动画,因此如果您要求顺时针旋转270度,它将逆时针旋转90度。
如果您使用CATransform3D
旋转视图图层,则可以获得任意数量的旋转 - 是的,即使您在2D中旋转也可以使用此旋转。见Can I use CGAffineTransformMakeRotation to rotate a view more than 360 degrees?
答案 1 :(得分:0)
将度数转换为弧度是
Radians = Degrees *(PI / 180)