2017-05-08 69 views
0

我使用Xamarin Forms和RotateTo动画。有没有办法让旋转采取最短的路径/方向?目前,如果角度类似于359,并且新角度为1,则RotateTo将以逆时针方向绕一个圆圈旋转至1.我可以更改方向,使其仅以顺时针方向旋转2度?如何改变RotateTo的动画方向?

+1

你有没有试过指定负旋转角度? – Jason

回答

0

您可以检测到“传递0”的情况并专门对待它们。 类似这样的:

int curAngle = (int)el.Rotation; 
if (curAngle < 10 && angle > 350) 
{ 
    await el.RotateTo(0, 125); 
    el.Rotation = 359.9; 
    await el.RotateTo(angle, 125); 
} 
else if (curAngle > 350 && angle < 10) 
{ 
    await el.RotateTo(360, 125); 
    el.Rotation = 0.1; 
    await el.RotateTo(angle, 125); 
} 
else 
{ 
    await el.RotateTo(angle, 250); 
} 
+1

虽然此代码可能会回答问题,但提供有关如何解决问题和/或解决问题原因的其他上下文会提高答案的长期价值。请阅读此[如何回答](http://stackoverflow.com/help/how-to-answer)以提供高质量的答案。 – thewaywewere