我怎样才能得到一个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;
让我知道这是否适合你。