iOS - 是否应该更改UIImageView的框架来调整其图像大小?

时间:2010-09-10 23:02:02

标签: iphone ipad resize uiimageview

有人可以肯定地回答这个问题吗?似乎有时候改变UIImageView的框架会调整其图像的大小,有时它不会。

我已经加载了一个图像并用它创建了一个UIImageView,大小约为100x100。执行以下操作绝对没有效果:

myImageView.contentMode = UIViewContentModeScaleAspectFit;
myImageView.frame = CGRectMake(0, 0, 30, 30);

显然我想缩小图像,但它只是保持完整尺寸。

编辑:如果我这样做:

myImageView.clipsToBounds = YES;

我得到了图片的30x30剪辑,但只有它的上角。如何将整个图像缩小到30x30?

5 个答案:

答案 0 :(得分:3)

老问题,但在我的情况下,问题是试图在" viewDidLoad"中进行修改。对于视图控制器。尝试更改" viewDidLayoutSubviews"。

中的框架
- (void)viewDidLayoutSubviews
{
    //do uiimageview frame changing here
    ...   
}

答案 1 :(得分:2)

是的,你做的是正确的。像这样使用的contentMode应该将图像大小保持在视图中并保留方面。显然,更改框架应该重新定位视图并调整其大小。

你确定没有别的东西可疑吗? myImageView由于某种原因在这里是否为零? (如果它是界面构建器创建的视图,是连接出口的吗?)

答案 2 :(得分:1)

你认为这有用,但是到处都有人有同样的问题。我看到它工作的唯一一次不是通过自动缩放,而是实际调整大小并重新绘制图像:How to scale a UIImageView proportionally?

答案 3 :(得分:1)

答案 4 :(得分:1)

试试这个:

myImageView。 bounds = CGRectMake(0,0,30,30);

我没有幸运改变UIImageView的框架以缩放图像。请尝试更改界限