iOS UIImage拉伸:如何在较小的UIImageView中适配较大的UIImage,而不会降低质量或留下空白。

3

我正在使用UIImagePickerController从图库中选择一张UIImage并将其显示在UIImageView中。实际上,UIImagePickerController是全屏的,因此UIImage也是全屏的。但是由于头部栏的存在,UIImageView不是全屏的。

图片被拉伸了。

怎样才能修复这个问题呢?

请有人帮帮我。

谢谢您提前的帮助......

第一张图片是图像选择器屏幕,第二张是我从选择器中捕获的UIImage显示在UIImageView中的情况。

![这是我的UIImagePickerController][2]

![这是捕获后显示在UIImageview中的图像。][3]

注意:两个屏幕都处于横向模式。

1个回答

7

将此应用于您的UIImageView

 imageView.contentMode = UIViewContentModeScaleAspectFill;

您将不会获得任何保留比例的空间。然而,图像的某些部分将被剪切掉。

如果您使用:

imageView.contentMode = UIViewContentModeScaleAspectFit;

会存在一些空白的空间,但比例保持不变。


好的,你是说无论我的UIImageview大小如何,imageView.contentMode = UIViewContentModeScaleAspectFill都可以工作,并且不会被拉伸吗?非常感谢。 - Rashmi Ranjan mallick
+1,没错,Ranjan的答案完全正确。根据您的需要使用它。 - mAc
@Ranjan:是的,请尝试一下。 - John
将contentMode设置为UIViewContentModeScaleAspectFill后,即使我将frame设置为CGRectMake(0,40,480,200),图像视图仍填充整个屏幕。我再次上传了带有全屏uiimageview的截图。您可以看到标题被UIImageView隐藏了.. 请给我建议.. - Rashmi Ranjan mallick
尝试这个:imageView.clipsToBounds = YES; - John
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接