2017-05-08 2 views
0

Ich verwende Xamarin Forms und RotateTo Animationen. Gibt es eine Möglichkeit, die Rotation auf den kürzesten Weg zu bringen? Derzeit, wenn der Winkel etwa 359 ist und der neue Winkel 1 ist, dreht sich das RotateTo gegen den Uhrzeigersinn um einen Kreis bis 1. Kann ich die Richtung ändern, so dass es nur im Uhrzeigersinn um 2 Grad verfährt?Wie ändere ich die Richtung der Animation für RotateTo?

+1

haben Sie versucht, einen negativen Rotationswinkel anzugeben? – Jason

Antwort

0

Sie können "passing 0" -Fälle erkennen und sie speziell behandeln. Etwas wie dieses:

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

Während dieser Code die Frage beantworten kann, würde die Bereitstellung eines zusätzlichen Kontextes hinsichtlich dessen, wie und/oder warum er das Problem löst, den langfristigen Wert der Antwort verbessern. Bitte lesen Sie diese [how-to-answer] (http://stackoverflow.com/help/how-to-answer) für eine qualitativ hochwertige Antwort. – thewaywewere

Verwandte Themen