iOS图片填充UIImageView(contentMode)
本文主要形象的介绍一下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)的更多相关文章
- iOS 图片填充 UIImageView (contentMode)
掐指算下来做iOS开发也是有两年多的时间了,然后今天一个超级常用的控件让我颜面大跌,于是我准备把自己的丢人行径公之于众.如果您看到我这篇文章时和我一样,也是刚刚知道这项功能,那么您就当收获了一个... ...
- iOS 图片填充 UIImageView
UIViewContentModeScaleAspectFit, //这个图片都会在view里面显示,并且比例不变 这就是说 如果图片和view的比例不一样 就会有留白如下图1 UIView ...
- UI-UIImageView的图片填充方式(contentMode)_图片作为控件背景图的拉伸方式(stretch)介绍
常用图片填充方式 这里只介绍三个最常用的图片填充方式 UIViewContentModeScaleToFill模式会导致图片变形.例如: UIViewContentModeScaleAspectFit ...
- 图片填充UIImageView大小不对
http://www.2cto.com/kf/201507/412894.html UIView的contentMode属性: 默认为Scale To Fill,会保留view的比例,不会完全按照设定 ...
- UIImage 和 iOS 图片压缩UIImage / UIImageVIew
UIImageView 制作气泡 stretchableImageWithLeftCapWidth http://blog.csdn.net/justinjing0612/article/detail ...
- iOS开发系列-UIImageView的contentMode
typedef NS_ENUM(NSInteger, UIViewContentMode) { UIViewContentModeScaleToFill, UIViewContentModeScale ...
- iOS 图片背景模糊效果
iOS 图片背景模糊效果 1.使用CoreImage中的模糊滤镜 原始效果图如下: CoreImage的实现: - (void)viewDidLoad { [super viewDidLoad]; / ...
- iOS 图片旋转方法
iOS 图片旋转方法 通过 CGImage 或 CIImage 旋转特定角度 UIImage可通过CGImage或CIImage初始化,初始化方法分别为init(cgImage: CGImage, s ...
- iOS 图片轮播图(自动滚动)
iOS 图片轮播图(自动滚动) #import "DDViewController.h" #define DDImageCount 5 @interface DDViewContr ...
随机推荐
- 配置apache
1. 修改httpd.conf文件 # vi /usr/local/apache/conf/httpd.conf 1) 设置根目录的路径 根目录是指Apache存放配置文件和日志文件的目录,配置参数 ...
- 规范 : disable account
前台的cookies在后台会去拿account出来,之后在filter status = disable的 用户在登入使用界面请求一个ajax,这时发现是401没有权限,这通常是admin把用户的ac ...
- 每天一个linux命令(26)--用SecureCRT来上传和下载文件
用SSH管理Linux 服务器时经常需要远程与本地之间交互文件,而直接使用 SecureCRT 自带的上传下载功能无疑是最方便的,SecureCRT下的文件传输协议有ASCII.Xmodem.Zmod ...
- 纯CSS3之五子棋(黑白棋)画法
无聊想用JS写个五子棋玩玩,这边先用CSS3画出了五子棋,感觉挺惊艳的.发上来看看 PS:第一次发博文T-T 此为个人原创. 不多说上图: 代码如下: <!DOCTYPE html> & ...
- 在Windows平台搭建轻巧的Python开发环境——面向工程和科研的扩展包配置
首先,下载最新版本的Python. 为什么强调最新版本呢,因为新版本的漏洞通常会少得多,而且反映了未来的趋势. 既然要学,何不起点高一点? 官方下载地址:https://www.python.org/ ...
- centOS7 mini配置linux服务器(二) 配置IP
1.登录root用户,输入指令 #ip addr 可以看到除lo外的属于你的网卡配置. 2.输入 #cd /etc/sysconfig/network-scripts/ #vi if ...
- hadoop2.7.2完全分布式环境搭建
1.先使用groupadd hadoop 建立hadoop用户组 2.新建用户,useradd -d /usr/hadoop -g hadoop -m hadoop (新建用户hadoop指定用户 ...
- mysql数据库的中文乱码问题的解决
今天终于解决了数据库中文乱码的问题,分享出来让更多的人作为参考,我们进入主题: 如果在搭建mysql数据库的时候没有设置它的编码格式,在以后的开发中,中文乱码会是一个令人头疼的问题,所以我在这里分享一 ...
- 使用Task的一些知识优化了一下同事的多线程协作取消的一串代码
最近在看一个同事的代码,代码的本意是在main方法中开启10个线程,用这10个线程来处理一批业务逻辑,在某一时刻当你命令console退出的时候,这个 时候不是立即让console退出,而是需要等待1 ...
- 1349: [Baltic2006]Squint
1349: [Baltic2006]Squint Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 427 Solved: 248[Submit][Stat ...