AP.
AP.

Reputation: 5323

Know the real bounds of an image in UIImageView

I am using an UIImageView to load an image with aspectfit. Hence the image does use the whole UIImageView surface. How to know what is the bounds of the image inside the UIImageView?

Thanks in advance

Upvotes: 3

Views: 1435

Answers (1)

Costique
Costique

Reputation: 23722

CGFloat aspectRatioX = imageView.bounds.size.width/imageView.image.size.width;
CGFloat aspectRatioY = imageView.bounds.size.height/imageView.image.size.height;
if ( aspectRatioX < aspectRatioY )
    imageRect = CGRectMake(0, (imageView.bounds.size.height - aspectRatioX*imageView.image.size.height)*0.5f, imageView.bounds.size.width, aspectRatioX*imageView.image.size.height);
else
    imageRect = CGRectMake((imageView.bounds.size.width - aspectRatioY*imageView.image.size.width)*0.5f, 0, aspectRatioY*imageView.image.size.width, imageView.bounds.size.height);

Upvotes: 6

Related Questions