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?
Change the contentMode, e.g.:
How to use original size of image - without any stretching
scale to fill
toAspect Fit
within the interface builder.Change the UIImage's Mode from 'scale to fill' to 'Center' within the interface builder. Make sure your image is the exact size you need.
still stretch when image is bigger than imageivew
swift
You can use
Swift 3:
Or
UIViewContentModeCenter
/.center
, or any of the other modes described in the UIView documentation.Use the
contentMode
property. You probably want eitherUIViewContentModeScaleAspectFit
orUIViewContentModeCenter
.