我需要在加载视图时按接口构建器创建的UIImageView以给定角度旋转。
- (void)viewDidLoad
{
[super viewDidLoad];
image.transform = CGAffineTransformRotate(image.transform, REF_INIT_OFFSET*M_PI/180);
}
这会旋转图像,但后者完全扭曲和拉伸。如果REF_INIT_OFFSET是90的倍数,它可以正常工作!
以下是图片的外观(注意指针指向“0”)
以下是它的实际外观:
看起来图像被拉伸到错误的方向。
你知道出了什么问题吗?
感谢,
答案 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);
}