UIViewContentMode详解

UIView有个UIViewContentMode类型的属性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,
};


实例代码:

    CGRect rect = self.view.frame;
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:rect];
    imageView.contentMode = UIViewContentModeTop;
    imageView.image = [UIImage imageNamed:@"demoImage"];
    [self.view addSubview:imageView];

UIViewContentModeScaleToFill

根据视图的比例去拉伸图片内容。

UIViewContentMode详解_第1张图片


UIViewContentModeScaleAspectFit

保持图片内容的纵横比例,来适应视图的大小。

UIViewContentMode详解_第2张图片


UIViewContentModeScaleAspectFill

用图片内容来填充视图的大小,多余得部分可以被修剪掉来填充整个视图边界。

UIViewContentMode详解_第3张图片


UIViewContentModeRedraw

这个选项是单视图的尺寸位置发生变化的时候通过调用setNeedsDisplay方法来重新显示。


UIViewContentModeCenter

保持图片原比例在视图中间显示图片内容

如果视图大小小于图片的尺寸,则图片会超出视图边界,下面类同

UIViewContentMode详解_第4张图片


UIViewContentModeTop

保持图片原比例在视图中间顶部显示图片内容

UIViewContentMode详解_第5张图片


UIViewContentModeBottom

保持图片原比例在视图中间底部显示图片内容

UIViewContentMode详解_第6张图片


UIViewContentModeLeft

保持图片原比例在视图中间左边显示图片内容

UIViewContentMode详解_第7张图片


UIViewContentModeRight

保持图片原比例在视图中间右边显示图片内容



UIViewContentModeTopLeft

保持图片原比例在视图左上角显示图片内容

UIViewContentMode详解_第8张图片


UIViewContentModeTopRight

保持图片原比例在视图右上角显示图片内容

UIViewContentMode详解_第9张图片


UIViewContentModeBottomLeft

保持图片原比例在视图左下角显示图片内容

UIViewContentMode详解_第10张图片


UIViewContentModeBottomRight

保持图片原比例在视图右下角显示图片内容




你可能感兴趣的:(contentMode)