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

问题描述:

有人可以明确回答这个问题吗?看起来,有时更改UIImageView的框架会调整其图像,有时它不会。iOS - 应该更改UIImageView的框架大小调整其图像?

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

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

很显然,我要收缩的图像了,但它只是保持全尺寸。

编辑:如果我这样做:

myImageView.clipsToBounds = YES; 

我得到的图像的裁剪30×一部分,但只有它的上角。我如何将整个图像缩小至30x30?

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

你确定没有别的东西是可疑的吗? myImageView是由于某种原因在这里? (如果它是一个界面生成器创建的视图,是否连接了该插座?)

+0

它绝对不是零,因为它出现在屏幕上,我可以设置clipsToBounds。 – sol 2010-09-10 23:21:38

你会认为这样可行,但是到处都有人遇到同样的问题。我已经看到了它的工作的唯一情况是不会被自动缩放,它是通过实际调整和重新绘制图像:How to scale a UIImageView proportionally?

试试这个:

myImageView。 界限 = CGRectMake(0,0,30,30);

我还没有运气改变UIImageView的框架来缩放图像。改为尝试更改范围

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

- (void)viewDidLayoutSubviews 
{ 
    //do uiimageview frame changing here 
    ... 
}