如何"旋转"图层/视图(例如,就像你在enigmo中一样)

rks*_*rst 11 iphone cocoa-touch objective-c

我知道如何根据触摸移动图层.但我也希望能够旋转图像.

是否有示例代码显示如何执行此操作?或者任何人都可以给我一些建议?

谢谢!

Ben*_*ieb 20

最简单的方法是使用图层的transform属性:

float   angle = M_PI;  //rotate 180°, or 1 ? radians
layer.transform = CATransform3DMakeRotation(angle, 0, 0.0, 1.0);
Run Code Online (Sandbox Code Playgroud)

CATransform3DMakeRotation函数的第一个参数是以弧度为单位的旋转量.接下来的三个描述了要围绕其旋转的向量.这是在z轴上描述矢量,因此有效地垂直于屏幕.这将旋转图层,使其颠倒.


rks*_*rst 11

我最终这样做:

CGAffineTransform transform = CGAffineTransformMakeRotation(angle);
[[self viewWithTag:999] setTransform:transform];
Run Code Online (Sandbox Code Playgroud)

请注意,角度以弧度为单位.