UIVewContentMode
声明:感谢 iunion 的图片
枚举代码
typedef enum {
UIViewContentModeScaleToFill,
UIViewContentModeScaleAspectFit,
UIViewContentModeScaleAspectFill,
UIViewContentModeRedraw,
UIViewContentModeCenter,
UIViewContentModeTop,
UIViewContentModeBottom,
UIViewContentModeLeft,
UIViewContentModeRight,
UIViewContentModeTopLeft,
UIViewContentModeTopRight,
UIViewContentModeBottomLeft,
UIViewContentModeBottomRight,
} UIViewContentMode;
Top | Bottom | Left | Right 四种为最基本的布局,以原大小紧贴四个方位,不改变大小
TopLeft | TopRight | BottomLeft | BottomRight 四中为四个角紧贴,不改变大小
ScaleAspectFit -> 不改变比例的情况下高度放到最大,宽度适应(有可能导致宽度超出)
ScaleAspectFill -> 不改变比例的情况下宽度放到最大,高度适应(有可能导致高度超出)
ScaleToFill -> 填满整个区域,可能会导致失真(比例改变)
Center -> 图片不变,中心居中
Redraw -> 调用[self setNeedsDisplay]方法,在改变时调用逻辑(例如旋屏等)
几个不好理解的如下图所示
※※发现使用UIImageView时,fit与fill与普通的UIView相反(待考证)
几个例子