具有固定宽度的UIImageView:如何设置其高度以保持其宽高?

时间:2014-08-21 05:36:53

标签: ios uiscrollview uiimageview height aspect-ratio

我有一个视图,我需要放置一个UIImageView,我被告知要将它放在一个占据屏幕宽度且高度小于宽度(固定大小)的矩形内。但是,我给出的图像或多或少是方形jpeg图像,因此我们的想法是填充应包含图像的矩形的宽度,并以一种方式设置图像的高度。它的纵横比保持不变。然后,我应该能够让用户垂直滚动图像以查看完整的图像。

我怎么能这样做?

提前致谢

编辑:我需要为具有不同尺寸的多个图片执行此操作,但该视图应在视图中适合相同的矩形区域大小

1 个答案:

答案 0 :(得分:8)

您可以设置imageview内容模式。

imageView.contentMode = UIViewContentModeScaleAspectFit;

这将确保通过保持原始宽高比来显示图像。

修改

我认为这就是你想要的:

UIImage *originalImage = [UIImage imageNamed:[picArr objectAtIndex:a]];
double width = originalImage.size.width;
double height = originalImage.size.height;
double apect = width/height;

double nHeight = 320.f/ apect;
self.img.frame = CGRectMake(0, 0, 320, nHeight);
self.img.center = self.view.center;
self.img.image = originalImage;

希望这会有所帮助.. :)