本文主要形象的介绍一下UIView的contentMode属性:

核心代码

[self.prp_imageView  setContentMode:UIViewContentModeScaleAspectFill];

self.prp_imageView.clipsToBounds = YES;

     

UIViewContentModeScaleAspectFit, //这个图片都会在view里面显示,并且比例不变 这就是说 如果图片和view的比例不一样 就会有留白如下图1

UIViewContentModeScaleAspectFill, // 这是整个view会被图片填满,图片比例不变 ,这样图片显示就会大于view如下图2

既然要求不高 又不能留白 那我就可以用第二种 可是这样就超出位置了,于是同事又开口了 截掉就可以了

然后完整过程就两步

[self.prp_imageView setContentMode:UIViewContentModeScaleAspectFill];

self.prp_imageView.clipsToBounds = YES;

完美解决 以下是效果图

实在是太喜欢他们了就先暂时当我的模特吧

然后 我就把所有的都是试验了一遍,各种区别大家就看图总结吧

UIViewContentModeCenter

UIViewContentModeTop

UIViewContentModeBottom

UIViewContentModeLeft

UIViewContentModeRight

UIViewContentModeTopLeft

UIViewContentModeTopRight

UIViewContentModeBottomLeft

UIViewContentModeBottomRight

其他更详细的属性介绍:

UIView有个UIViewContentMode类型的属性contentMode,可以通过它来修改视图的内容显示模式。

view sourceprint?

01.typedef NS_ENUM(NSInteger, UIViewContentMode) {

02.UIViewContentModeScaleToFill,

03.UIViewContentModeScaleAspectFit, // contents scaled to fit with fixed aspect. remainder is transparent 04.UIViewContentModeScaleAspectFill, // contents scaled to fill with fixed aspect. some portion of content may be clipped. 05.UIViewContentModeRedraw, // redraw on bounds change (calls -setNeedsDisplay)

06.UIViewContentModeCenter, // contents remain same size. positioned adjusted.

07.UIViewContentModeTop,

08.UIViewContentModeBottom,

09.UIViewContentModeLeft,

10.UIViewContentModeRight,

11.UIViewContentModeTopLeft,

12.UIViewContentModeTopRight,

13.UIViewContentModeBottomLeft,

14.UIViewContentModeBottomRight,

15.};

实例代码:

view sourceprint?

1.CGRect rect = self.view.frame;

2.UIImageView *imageView = [[UIImageView alloc] initWithFrame:rect];

3.imageView.contentMode = UIViewContentModeTop;

4.imageView.image = [UIImage imageNamed:@demoImage];

5.[self.view addSubview:imageView];

UIViewContentModeScaleToFill

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

UIViewContentModeScaleAspectFit

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

UIViewContentModeScaleAspectFill

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

UIViewContentModeRedraw

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

UIViewContentModeCenter

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

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

UIViewContentModeTop

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

UIViewContentModeBottom

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

UIViewContentModeLeft

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

UIViewContentModeRight

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

UIViewContentModeTopLeft

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

UIViewContentModeTopRight

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

UIViewContentModeBottomLeft

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

UIViewContentModeBottomRight

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

【原文出自:http://www.2cto.com/kf/201507/412894.html 】

iOS图片填充UIImageView(contentMode)的更多相关文章

  1. iOS 图片填充 UIImageView (contentMode)

    掐指算下来做iOS开发也是有两年多的时间了,然后今天一个超级常用的控件让我颜面大跌,于是我准备把自己的丢人行径公之于众.如果您看到我这篇文章时和我一样,也是刚刚知道这项功能,那么您就当收获了一个... ...

  2. iOS 图片填充 UIImageView

    UIViewContentModeScaleAspectFit,     //这个图片都会在view里面显示,并且比例不变  这就是说 如果图片和view的比例不一样 就会有留白如下图1 UIView ...

  3. UI-UIImageView的图片填充方式(contentMode)_图片作为控件背景图的拉伸方式(stretch)介绍

    常用图片填充方式 这里只介绍三个最常用的图片填充方式 UIViewContentModeScaleToFill模式会导致图片变形.例如: UIViewContentModeScaleAspectFit ...

  4. 图片填充UIImageView大小不对

    http://www.2cto.com/kf/201507/412894.html UIView的contentMode属性: 默认为Scale To Fill,会保留view的比例,不会完全按照设定 ...

  5. UIImage 和 iOS 图片压缩UIImage / UIImageVIew

    UIImageView 制作气泡 stretchableImageWithLeftCapWidth http://blog.csdn.net/justinjing0612/article/detail ...

  6. iOS开发系列-UIImageView的contentMode

    typedef NS_ENUM(NSInteger, UIViewContentMode) { UIViewContentModeScaleToFill, UIViewContentModeScale ...

  7. iOS 图片背景模糊效果

    iOS 图片背景模糊效果 1.使用CoreImage中的模糊滤镜 原始效果图如下: CoreImage的实现: - (void)viewDidLoad { [super viewDidLoad]; / ...

  8. iOS 图片旋转方法

    iOS 图片旋转方法 通过 CGImage 或 CIImage 旋转特定角度 UIImage可通过CGImage或CIImage初始化,初始化方法分别为init(cgImage: CGImage, s ...

  9. iOS 图片轮播图(自动滚动)

    iOS 图片轮播图(自动滚动) #import "DDViewController.h" #define DDImageCount 5 @interface DDViewContr ...

随机推荐

  1. jprofiler安装图解 ( 7_1 )

    环境: 1.sun jdk1.6.0 2.jprofiler_windows_6_0_2.exe 安装 1. jdk, 安装略... 2. jprofiler安装 一路next 到Enter lice ...

  2. USTC 1119 graph 图的同构

    USTC 1119 图的同构的严格定义可以参考离散数学:The simple graphs G1=(V1,E1) and G2=(V2,E2)are isomorphic if there exist ...

  3. 数据的增删改查(三层)<!--待补充-->

    进行数据操作必然少了对数据的增删改查,用代码生成器生成的代码不是那么满意!方便在今后使用,这里就主要写“数据访问层(Dal)” 既然这里提到三层架构:有必要将三层内容在这里详细介绍一下(待补充) 注: ...

  4. macOS apache配置及开启虚拟服务器的开启,apache开启重写模式

    今天把自己的mac系统升到最新版,但是,apache却不能用了,因为mac上的apache是系统自带的,因为是mac目前的最新系统,所以出现了好多问题,整理了一下午也没有啥进展,最后还是把原来的在云盘 ...

  5. weblogic 双机集群搭建

    weblogic 双机集群搭建,基本步骤引用百度文库的一篇文章: wenlogic双机集群基本步骤 下面详解一下该文章搭建后会遇到的问题: 1. 主机名验证失败 javax.net.ssl.SSLKe ...

  6. 循环单词 java

    链接:https://www.nowcoder.com/questionTerminal/9d5fbe7750a34d0b91c73943f93b2d7d来源:牛客网如果一个单词通过循环右移获得的单词 ...

  7. SQL一次查出相关类容避免长时间占用表(下)

    /* server: db: EDI */ -- 以下案例多次查询同一张表,仅有Name条件不同 --可以使用一次查出相关类容避免长时间占用表 USE EDI GO DECLARE @FileType ...

  8. kali linux 忘记root密码重置办法

    有段时间没用kali linux 的,加上最近装的系统有比较多,系统root的密码忘掉了,真是麻烦啊.之前在网上看到的一些方法尝试后没进的去,可能是因为不同的linux 不一样吧. 如果因为忘记密码而 ...

  9. .Net程序员学用Oracle系列(22):分析函数(OVER)

    1.函数语法 1.1.语法概述 1.2.窗口详解 1.2.1.ROWS 窗口 1.2.2.RANGE 窗口 2.函数用法 2.1.普通统计类函数 2.2.数据排序类函数 2.3.数据分布类函数 2.4 ...

  10. JAVA基础知识(2)--关键字static的使用

    在Java类中声明属性.方法和内部类时,可使用关键字static作为修饰符,static标记的属性和方法可以由整个类进行共享,因此static修饰的属性称为类成员或者称为类方法:static修饰的方法 ...