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

时间:2008-10-28 07:00:21

标签: iphone objective-c cocoa-touch

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

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

谢谢!

4 个答案:

答案 0 :(得分:20)

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

float   angle = M_PI;  //rotate 180°, or 1 π radians
layer.transform = CATransform3DMakeRotation(angle, 0, 0.0, 1.0);

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

答案 1 :(得分:11)

我最终这样做了:

CGAffineTransform transform = CGAffineTransformMakeRotation(angle);
[[self viewWithTag:999] setTransform:transform];

请注意,角度为弧度。

答案 2 :(得分:1)

您将使用视图的transform属性。 在Launching in Landscape Mode

下的iPhone OS编程指南中有一些用于旋转视图的示例代码

答案 3 :(得分:0)

您应该查看Apple的MoveMe示例,了解如何根据触摸移动图层。它也会像你一样应用一些缩放变换,因此它应该作为应用旋转变换的合理示例。