我正在尝试使用 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];
但是为什么它是顺时针旋转呢?
我正在尝试在模拟器和设备中使用都具有相同的结果,顺时针旋转
然后尝试使用动画:
#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));
}];
它具有相同的结果,顺时针旋转。
谁能解释一下原因,谢谢回复。