viewDidLoad中的CGAffineTransformRotate拉伸/分散UIImageView

时间:2011-07-06 11:26:49

标签: ios uiimageview

我需要在加载视图时按接口构建器创建的UIImageView以给定角度旋转。

- (void)viewDidLoad
{
   [super viewDidLoad];
    image.transform = CGAffineTransformRotate(image.transform, REF_INIT_OFFSET*M_PI/180); 
}

这会旋转图像,但后者完全扭曲和拉伸。如果REF_INIT_OFFSET是90的倍数,它可以正常工作!

以下是图片的外观(注意指针指向“0”)

enter image description here

以下是它的实际外观:

看起来图像被拉伸到错误的方向。

你知道出了什么问题吗?

感谢,

1 个答案:

答案 0 :(得分:7)

不确定它对你有帮助,但是在[UIImage setFrame:]之后我遇到了同样的问题,如果转换了UIImage,决定是使用setBounds而不是setFrame

在评论中解决讨论中的问题:

方法setFrame在shouldAutorotateToInterfaceOrientation中的viewDidLoad之后被隐式调用,如果autoresizesSubviews属性是

- (void)viewDidLoad {
[super viewDidLoad];
self.view.autoresizesSubviews=NO;
image.transform = CGAffineTransformRotate(image.transform, 50*M_PI/180);
}