Ich versuche, CGAffineTransformMakeRotation zu verwenden, und ich beziehe mich auf das Apple-Dokument, das besagt
Der Winkel, in Bogenmaß, um den diese Matrix die Achsen des Koordinatensystems dreht. In iOS gibt ein positiver Wert eine Drehung gegen den Uhrzeigersinn an, und ein negativer Wert gibt eine Drehung im Uhrzeigersinn an. In OS X gibt ein positiver Wert eine Drehung im Uhrzeigersinn an, und ein negativer Wert gibt eine Drehung gegen den Uhrzeigersinn an.
Also, wenn ich den Parameter 90 Grad übergebe, sollte es eine Drehung gegen den Uhrzeigersinn sein.
self.myView ist eine Ansicht mit grauem Hintergrund, und die rote quadratische Ansicht dient nur dazu, die Drehrichtung zu sehen
#define DEGREES_TO_RADIANS(x) (x * M_PI/180.0)
CGAffineTransform rotation = CGAffineTransformMakeRotation( DEGREES_TO_RADIANS(90) );
[self.myView setTransform:rotation];
Aber warum dreht es sich im Uhrzeigersinn?
Ich versuche es im Simulator und auf dem Gerät, beide haben das gleiche Ergebnis, eine Drehung im Uhrzeigersinn
Und dann versuche ich eine Animation zu verwenden:
#define DEGREES_TO_RADIANS(x) (x * M_PI/180.0)
CGAffineTransform rotation = CGAffineTransformMakeRotation( DEGREES_TO_RADIANS(90) );
[UIView animateWithDuration:0.5
animations:^{
self.myView.transform = rotation;
}
completion:^(BOOL finished) {
NSLog(@"%@", NSStringFromCGAffineTransform(self.myView.transform));
}];
Es hat das gleiche Ergebnis, eine Drehung im Uhrzeigersinn.
Kann jemand erklären, warum? Danke für die Antwort.