UIImageView 方面适合高度

Posted

技术标签:

【中文标题】UIImageView 方面适合高度【英文标题】:UIImageView aspect fit to height 【发布时间】:2016-01-13 07:22:10 【问题描述】:

我需要根据高度设置 UIImageView 大小 aspectfit。

意味着我的要求是我的图像高度应该是固定的,但图像的宽度应该根据高度而变化根据高度。

【问题讨论】:

【参考方案1】:
UIImage *originalImage = [UIImage imageNamed:@"image.png"];
double width = originalImage.size.width;
double height = originalImage.size.height;
double apect = width/height;

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

【讨论】:

【参考方案2】:
-(CGSize)resizeImage:(CGSize)imageSize toTargetedHeight:(float)height 

 NSLog(@"actualImageSize : %@", NSStringFromCGSize(imageSize));

 float scaleFactor = height / imageSize.height;
 float newHeight = imageSize.height * scaleFactor;
 float newWidth = imageSize.width  * scaleFactor;

 CGSize newSize = CGSizeMake(newWidth, newHeight);

 NSLog(@"convertedImageSize : %@", NSStringFromCGSize(newSize));
 return newSize;


这将创建具有特定高度的图像并保持其纵横比。

【讨论】:

以上是关于UIImageView 方面适合高度的主要内容,如果未能解决你的问题,请参考以下文章

在方面适合后从 UIImageView 获取图像的宽度和高度

UIImageView中UIImage上下空白高度

UIImage 未根据 UIImageView 大小宽度和高度调整大小

调整UIImageView的大小以包装“适合方面”的图像

swift UIImage使用UIImageView调整方面填充和裁剪

如何在“方面填充”模式下将 UIImageView 裁剪为新的 UIImage?