最近看别人的代码偶然看到了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, 拉伸
看函数注解应该对这个函数有了一定的了解,这里贴几个图加深下理解。
示例:
UIImageResizingModeStretch
1.capInsets参数为UIEdgeInsetsMake(42, 0, 0, 0)
2.capInsets参数为UIEdgeInsetsMake(42, 20, 42, 20)