1.UIImageView 的 contentMode
UIImageView 的 contentMode 属性用来设置图片的显示方式,如居中,局左,是否缩放等,contentMode 是 UIViewContentMode(枚举类型) 的属性,主要有下面这些样式可供选择
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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. --> 保证图片比例不变的情况下,填充整个 imageView 视图,可能只有部分图片显示
UIViewContentModeRedraw, // redraw on bounds change (calls -setNeedsDisplay)
UIViewContentModeCenter, // contents remain same size. positioned adjusted.
UIViewContentModeTop,
UIViewContentModeBottom,
UIViewContentModeLeft,
UIViewContentModeRight,
UIViewContentModeTopLeft,
UIViewContentModeTopRight,
UIViewContentModeBottomLeft,
UIViewContentModeBottomRight,
};
|
以上这些模式,带有 scale 的,当图片尺寸超过 imageView 的尺寸( frame)时,可能造成只有部分图片 内容会显示在 imageView 中,可以通过剪裁命令剪裁掉不在 imageView 视图之内的图片内容self.myImageView.clipsToBounds = YES;