码迷,mamicode.com
首页 > 其他好文 > 详细

UIImageView xib里面拉伸图片

时间:2015-08-26 20:38:09      阅读:1232      评论:0      收藏:0      [点我收藏+]

标签:

目标

通过实例和图片理解UIView的contentStretch属性

方法

  • 通过一个图片建立一个简单的UIImageView

  • 设置它的contentStretch属性

  • 修改它的frame属性

  • 观察

测试用的图片:

技术分享

新建一个 UIImageView:

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"grid.png"]];

保存它的一些属性值备用 

CGSize imageSize;
imageSize.width = imageView.frame.size.width;
imageSize.height = imageView.frame.size.height;

CGSize stretchSize;
stretchSize.width = 50.0;
stretchSize.height = 100.0;

水平拉伸

设置 contentStretch 属性(一般为 0.0 到 1.0之间):

imageView.contentStretch = CGRectMake(0.0, 0.0, stretchSize.width/imageSize.width, stretchSize.height/imageSize.height);

技术分享

水平拉伸:

imageView.frame = CGRectMake(10.0, 10.0, imageSize.width*1.2, imageSize.height); 

技术分享

这时拉伸的区域如下:

技术分享

垂直拉伸

使用同样的 contentStretch, 图片被垂直拉伸:

imageView.frame = CGRectMake(0.0, 0.0, imageSize.width, imageSize.height*1.2);

技术分享

这时拉伸的区域如下:

技术分享

两个方向同时拉伸:

使用下面的 contentStretch值:

imageView.contentStretch = CGRectMake(100.0/imageSize.width, 100.0/imageSize.height, stretchSize.width/imageSize.width, stretchSize.height/imageSize.height);

技术分享

水平和垂直同时拉伸:

imageView.frame = CGRectMake(0.0, 0.0, 450.0, 450.0);

技术分享

实际拉伸的区域是:

技术分享

不要泄露内存:

[imageView release];

结论

对于给定的 contentStretch:

技术分享

有一个“拉伸”区域:

技术分享

和一个“固定”区域:

技术分享


UIImageView xib里面拉伸图片

标签:

原文地址:http://my.oschina.net/u/2377882/blog/497464

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!