2

为什么只有上述之一在代码中起作用?

目前我正在使用以下...

image.transform = CGAffineTransformMakeRotation(M_PI/2.5);
image.transform = CGAffineTransformMakeScale(1.25, 1.25);

我的图像像第二行所说的那样缩放到 125%,但它根本没有旋转。

当我翻转代码说...

image.transform = CGAffineTransformMakeScale(1.25, 1.25);
image.transform = CGAffineTransformMakeRotation(M_PI/2.5);

我的图像已旋转但未缩放...

有没有办法在同一代码中同时使用这两者?

我的viewDidLoad方法中有这些。谁能帮我?

谢谢!

4

2 回答 2

6

第二个不应该使用Make函数的再现。因此,例如,您应该:

CGAffineTransform transform = CGAffineTransformMakeScale(1.25, 1.25);
image.transform = CGAffineTransformRotate(transform, M_PI/2.5);

或者

CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI/2.5);
image.transform = CGAffineTransformScale(transform, 1.25, 1.25);

对比创建仿射变换矩阵函数和修改仿射变换函数。

于 2013-06-17T20:12:22.850 回答
0

CGAffineTransformMake被应用于单位矩阵,所以你正在旋转,但是就像你恢复身份并应用比例一样。使用CGAffineTransformMake.. 仅用于第一次,用于第二次使用CGAffineTransform...

于 2013-06-17T20:12:32.973 回答