我怎样才能得到一个UIImageView谁的模式是AspectFit的比例因子?

我怎样才能得到一个UIImageView谁的模式是AspectFit的比例因子?

也就是说,我有一个与模式AspectFit UIImageView。 图像(方形)缩放到我的UIImageView框架是好的。

如果我想得到所使用的比例(如0.78或其他),我怎样才能直接得到这个?

我不想比较父视图的宽度与UIImageView的宽度,因为计算必须考虑到方向,注意我将方形图像缩放到矩形视图。 因此,我为什么直接查询UIImageView来查找。

编辑:我需要它为iPhone或iPad部署以及。

我已经写了一个UIImageView类别:

的UIImageView + ContentScale.h

#import <Foundation/Foundation.h> @interface UIImageView (UIImageView_ContentScale) -(CGFloat)contentScaleFactor; @end 

的UIImageView + ContentScale.m

 #import "UIImageView+ContentScale.h" @implementation UIImageView (UIImageView_ContentScale) -(CGFloat)contentScaleFactor { CGFloat widthScale = self.bounds.size.width / self.image.size.width; CGFloat heightScale = self.bounds.size.height / self.image.size.height; if (self.contentMode == UIViewContentModeScaleToFill) { return (widthScale==heightScale) ? widthScale : NAN; } if (self.contentMode == UIViewContentModeScaleAspectFit) { return MIN(widthScale, heightScale); } if (self.contentMode == UIViewContentModeScaleAspectFill) { return MAX(widthScale, heightScale); } return 1.0; } @end 

那么你可以做类似的事情

 CGFloat widthScale = imageView.image.size.width / imageView.frame.size.width; CGFloat heightScale = imageView.image.size.height / imageView.frame.size.height; 

让我知道这是否适合你。