Reputation: 5323
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
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