1.方法声明:
- (UIImage*)resizableImageWithCapInsets:(UIEdgeInsets)capInsetsresizingMode:(UIImageResizingMode)resizingMode API_AVAILABLE(ios(6.0));
2.作用:
将图片没有保护的部分进行拉伸。
3.参数解析
capInsetsresizingMode:UIEdgeInsets,是一个结构体,定义如下typedef struct { CGFloat top, left , bottom, right ; } UIEdgeInsets;该参数的意思是被保护的区域到原始图像外轮廓的上部,左部,底部,右部的直线距离比如 UIEdgeInsetsMake(42, 0, 0, 0) 指的是拉伸区,详细点解释就是,从顶部一直到y=42部分是保护区,从y=42一直到底部是拉伸区
上下左右的值定义了受保护区域,能被拉伸的地方是中间区域,一般我们都设成中心点为了安全。
[image resizableImageWithCapInsets:UIEdgeInsetsMake(imageheight * 0.5, imagewidth * 0.5, imageheight * 0.5 -1, imagewidth * 0.5 - 1) resizingMode:UIImageResizingModeTile];
resizingMode:
UIImageResizingMode
typedef NS_ENUM(NSInteger, UIImageResizingMode) {
UIImageResizingModeTile,(瓦片)
UIImageResizingModeStretch,(伸展)
};
UIImageResizingModeStretch:拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片
UIImageResizingModeTile:平铺模式(瓦片),通过重复显示UIEdgeInsets指定的矩形区域来填充图片
原图:
IUIImageResizingModeStretch:
UIImageResizingModeTile
网友评论