UIImageView的ContentMode属性是用来设置图片的显示方式的:如下
typedef NS_ENUM(NSInteger, UIViewContentMode) {
UIViewContentModeScaleToFill,
UIViewContentModeScaleAspectFit, // contents scaled to fit with fixed aspect. remainder is transparent
UIViewContentModeScaleAspectFill, // contents scaled to fill with fixed aspect. some portion of content may be clipped.
UIViewContentModeRedraw, // redraw on bounds change (calls -setNeedsDisplay)
UIViewContentModeCenter, // contents remain same size. positioned adjusted.
UIViewContentModeTop,
UIViewContentModeBottom,
UIViewContentModeLeft,
UIViewContentModeRight,
UIViewContentModeTopLeft,
UIViewContentModeTopRight,
UIViewContentModeBottomLeft,
UIViewContentModeBottomRight,
};
1.凡是没有带scale的,当图片尺寸超过ImageView尺寸时,只有部分显示在ImageView中。(注:图片引自stackoverflow)
2.图片尺寸 640*450 UIViewContentModeScaleToFill填充整个ImageView,会导致图片变形。
3.UIViewContentModeScaleAspectFit 图片比例不变,全部显示在ImageView中,ImageView可能会有部分空白
4.UIViewContentModeScaleAspectFill也会证图片比例不变,但是是填充整个ImageView的,可能只有部分图片显示出来。
5.UIVewContentModeRedraw:除UIVewContentModeRedraw之外的模式都不满足需求,或者说有特定需要自定义绘制视图,可以设置为此值.(暂未用过)。