R. Dewi R. Dewi - 6 months ago 20
iOS Question

How to stop an image from stretching within a UIImageView?

I have a

UIImageView
where I have set the frame size to
x = 0, y = 0, width = 404, height = 712
.
In my project, I need to change the image in
UIImageView
dynamically.

I am using this code to change the image:

self.imageView.image = [UIImage imageNamed:@"setting-image.png"];


The problem is, when the
*.png
image size is smaller than the
UIImageView
frame size, the image stretches. I don't want it to stretch. Is there any way to do that?

Answer

You can use

self.imageView.contentMode = UIViewContentModeScaleAspectFit;

Swift:

imageView.contentMode = .ScaleAspectFit

Or UIViewContentModeCenter, or any of the other modes described in the UIView documentation.