如何阻止图像在UIImageView中拉伸?

R. *_*ewi 68 cocoa-touch stretching uiimageview uiimage ios

我有一个UIImageView我设置帧大小的地方x = 0, y = 0, width = 404, height = 712.在我的项目中,我需要UIImageView动态更改图像.

我正在使用此代码更改图像:

self.imageView.image = [UIImage imageNamed:@"setting-image.png"];
Run Code Online (Sandbox Code Playgroud)

问题是,当*.png图像尺寸小于UIImageView帧尺寸时,图像会拉伸.我不希望它伸展.有没有办法做到这一点?

jtb*_*des 137

您可以使用

self.imageView.contentMode = UIViewContentModeScaleAspectFit;
Run Code Online (Sandbox Code Playgroud)

斯威夫特3:

imageView.contentMode = .scaleAspectFit
Run Code Online (Sandbox Code Playgroud)

UIViewContentModeCenter/ .centerUIView文档中描述的任何其他模式.


小智 12

将clipsToBounds与UIViewContentModeScaleAspectFit一起设置为contentMode是我的诀窍.希望有人帮助!

imageView.clipsToBounds = YES;
imageView.contentMode = UIViewContentModeScaleAspectFit;
Run Code Online (Sandbox Code Playgroud)


Ano*_*mie 5

使用该contentMode属性.你可能想要UIViewContentModeScaleAspectFit或者UIViewContentModeCenter.