11

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

是否有任何示例代码显示如何执行此操作?或者谁能​​给我一些建议?

谢谢!

4

4 回答 4

20

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

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

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

于 2008-10-28T10:48:22.950 回答
11

我最终这样做了:

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

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

于 2008-10-28T20:31:56.470 回答
1

您将使用视图的变换属性。iPhone OS Programming Guide 中有一些旋转视图的示例代码,在Launching in Landscape Mode 下

于 2008-10-28T09:10:24.190 回答
0

您应该查看 Apple 的MoveMe示例,了解如何根据触摸在图层中移动。它还会在您执行此操作时应用一些缩放变换,因此这应该作为应用旋转变换的合理示例。

于 2008-10-28T09:32:49.280 回答