Я пытаюсь использовать CGAffineTransformMakeRotation, и я ссылаюсь на документ Apple, в котором говорится
Угол в радианах, по которому эта матрица вращает оси координатной системы. В iOS положительное значение указывает вращение против часовой стрелки, а отрицательное значение указывает вращение по часовой стрелке. В OS X положительное значение указывает вращение по часовой стрелке, а отрицательное значение указывает вращение против часовой стрелки.
Итак, я передаю параметр 90 градусов, он должен вращаться против часовой стрелки.
self.myView - это серый цвет фона, а красный квадрат - только для направления вращения.
#define DEGREES_TO_RADIANS(x) (x * M_PI/180.0)
CGAffineTransform rotation = CGAffineTransformMakeRotation( DEGREES_TO_RADIANS(90) );
[self.myView setTransform:rotation];
Но почему это вращение по часовой стрелке?
Я пытаюсь использовать в симуляторе, и устройство имеет одинаковый результат, вращение по часовой стрелке -
И затем tring для использования анимации:
#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));
}];
Он имеет тот же результат, вращение по часовой стрелке.
Может кто-нибудь объяснить, почему, спасибо за ответ.