【发布时间】:2013-09-11 02:31:29
【问题描述】:
我正在尝试使用 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));
}];
结果相同,顺时针旋转。
谁能解释一下,谢谢回复。
【问题讨论】:
-
我的猜测是文档中的错误。
-
您引用的文档的链接在哪里?
标签: ios cgaffinetransform