iOS - 应该更改UIImageView的框架大小调整其图像?
问题描述:
有人可以明确回答这个问题吗?看起来,有时更改UIImageView的框架会调整其图像,有时它不会。iOS - 应该更改UIImageView的框架大小调整其图像?
我已经加载了一个图像,并创建了一个UIImageView,大小约100x100。执行以下操作,完全没有效果:
myImageView.contentMode = UIViewContentModeScaleAspectFit;
myImageView.frame = CGRectMake(0, 0, 30, 30);
很显然,我要收缩的图像了,但它只是保持全尺寸。
编辑:如果我这样做:
myImageView.clipsToBounds = YES;
我得到的图像的裁剪30×一部分,但只有它的上角。我如何将整个图像缩小至30x30?
答
是的,你做的是正确的事情。使用像这样的contentMode
应该保留图像的大小到你的视图中,并保留方面。显然,改变框架应该重新定位并调整视图的大小。
你确定没有别的东西是可疑的吗? myImageView
是由于某种原因在这里? (如果它是一个界面生成器创建的视图,是否连接了该插座?)
答
你会认为这样可行,但是到处都有人遇到同样的问题。我已经看到了它的工作的唯一情况是不会被自动缩放,它是通过实际调整和重新绘制图像:How to scale a UIImageView proportionally?
答
试试这个:
myImageView。 界限 = CGRectMake(0,0,30,30);
我还没有运气改变UIImageView的框架来缩放图像。改为尝试更改范围。
答
老问题,但在我的情况下,问题是试图在视图控制器的“viewDidLoad”中进行修改。尝试更改“viewDidLayoutSubviews”中的框架。
- (void)viewDidLayoutSubviews
{
//do uiimageview frame changing here
...
}
它绝对不是零,因为它出现在屏幕上,我可以设置clipsToBounds。 – sol 2010-09-10 23:21:38