本文主要形象的介绍一下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. SuperWebClient -一个基于CURL的.NET HTTP/HTTPS模拟神组件(2)

    今天我们讨论SuperWebClient组件使用中的几个简单主题 1: UserAgent2: Cookies3: POST登录 1:UserAgent这个是客户端标识信息,此信息是用于鉴别正在访问W ...

  2. Omi教程-插件体系

    插件体系 Omi是Web组件化框架,怎么又来了个插件的概念? 可以这么理解: Omi插件体系可以赋予dom元素一些能力,并且可以和组件的实例产生关联. omi-drag 且看这个例子: 点击这里→在线 ...

  3. 了解 : angular $rootScope 在 ui-view

    在view 的element 可以直接调用 <p>{{$stateParams.xx}}</p> 要让xx有资料必须注入 app.run["$rootScope&qu ...

  4. 每天一个Linux命令(08)--cp命令

    cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数.但是如果是 ...

  5. UI培训怎么学才高效

    随着互联网科技的爆炸式发展,UI设计越来越受到我们的青睐,绝大部分企业已成立U设计部门来提高自身影响力,但现在许多从事UI设计的人,都是从零基础过度过来的,他们不乏大牛,在阿里巴巴,在腾讯等国内一流企 ...

  6. [HDUOJ1312]Red And Black (经典的DFS)

    Hot~~招聘——亚信科技,巴卡斯(杭州),壹晨仟阳(杭州),英雄互娱(杭州) (包括2016级新生)除了校赛,还有什么途径可以申请加入ACM校队? Red and Black Time Limit: ...

  7. 使用Visual Studio 2017作为Linux C++开发工具

    Visual Studio 2017 微软的宇宙第一IDE Visual Studio 2017正式版出来了,地址是:https://www.visualstudio.com/vs/whatsnew/ ...

  8. C#:求1到100的和

    using System;public class Program    {        public static void Main()            {                ...

  9. 网络信息安全攻防学习平台 上传,解密通关writeup

    上传关 [1]查看源代码,发现JS代码.提交时onclick进行过验证.ctrl+shift+i 打开开发者工具,将conclick修改为 return True,即可以上传上传php文件,拿到KEY ...

  10. wemall app商城源码Android之Native(原生)支付模式一demo

    wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享Native(原生)支付模式一demo,供技术 ...