iOS图片拉伸之神属性:resizableImageWithCapInsets

来源:互联网 发布:git ssh eclipse 端口 编辑:程序博客网 时间:2024/05/16 13:49

在仿写QQ会话窗口的时候,气泡的背景图片拉伸问题。并不是所有地方都可以拉伸的,所以定义了下面的工具类中的一个方法,专门拉伸图片。

UIImageResizingModeStrech:拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片UIImageResizingModeTile:平铺模式,通过重复显示UIEdgeInsets指定的矩形区域来填充图片+ (UIImage *)resizeWithImage:(UIImage *)image{    CGFloat top = image.size.height/2.0;    CGFloat left = image.size.width/2.0;    CGFloat bottom = image.size.height/2.0;    CGFloat right = image.size.width/2.0;    return [image resizableImageWithCapInsets:UIEdgeInsetsMake(top, left, bottom, right)resizingMode:UIImageResizingModeStretch];}

显示样式:

P.S.

resizableImageWithCapInsets有四个值上下左右

上下左右的值定义了受保护区域,能被拉伸的地方是中间区域,一般我们都设成中心点为了安全。

详情调试实验请查看:

方法介绍和说明

- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode//该方法返回的是UIImage类型的对象,即返回经该方法拉伸后的图像//传入的第一个参数capInsets是UIEdgeInsets类型的数据,即原始图像要被保护的区域//这个参数是一个结构体,定义如下//typedef struct { CGFloat top, left , bottom, right ; } UIEdgeInsets;//该参数的意思是被保护的区域到原始图像外轮廓的上部,左部,底部,右部的直线距离,参考图2.1//传入的第二个参数resizingMode是UIImageResizingMode类似的数据,即图像拉伸时选用的拉伸模式,//这个参数是一个枚举类型,有以下两种方式//UIImageResizingModeTile,     平铺 //UIImageResizingModeStretch,  拉伸

resizableImageWithCapInsets:方法的探析

阅读全文
0 0
原创粉丝点击