当我旋转imageView时,尺寸会缩小

时间:2014-03-24 07:23:45

标签: xcode core-animation

enter image description here

在执行以下代码之前,上图是我的视图。

@interface ViewController ()
@property (nonatomic, weak) IBOutlet UIView *layerView;
@end


@implementation ViewController
@synthesize layerView;

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI_4);
    self.layerView.layer.affineTransform = transform;
}

... //  more code

enter image description here

并且,上面的图像是执行代码后的视图。 我希望雪人旋转到相同的大小。但是,出于某种原因,它给了我一个非常小的雪人......有人能注意到这个错误吗?

1 个答案:

答案 0 :(得分:0)

图层使用CATransform3D,而不是CGAffineTransform。这两者不可互换。

您应该收到该代码的编译器警告。

操作CATransform3D有相同的功能。在这种情况下,您需要CATransform3DMakeRotation。该方法围绕3D矢量旋转。您可能希望为x和y传递0,为向量的z传递1。这将使图层执行平面2D旋转,就像您的代码应用于视图的CGAffineTransform一样。