UIImage* img=[UIImage imageNamed:@"2.png"];//原图 2 UIEdgeInsets edge=UIEdgeInsetsMake(0, 10, 0,10); 3 //UIImageResizingModeStretch:拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片 4 //UIImageResizingModeTile:平铺模式,通过重复显示UIEdgeInsets指定的矩形区域来填充图 5 img= [img resizableImageWithCapInsets:edge resizingMode:UIImageResizingModeStretch]; 6 self.imageView.image=img;
项目中经常用到图片的拉伸,经常会采用以下的方法:
UIImage* backgroundImage = nil;
if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"5.0")) {
backgroundImage = [Image(@"more_bg") resizableImageWithCapIns ets:UIEdgeInsetsMake(5,5, 5, 5) resizingMode:UIImageResizingModeStret ch];//注意查看image的ResizingMode
//Image(@"more_bg").resizingMode
} else {
backgroundImage = [Image(@"more_bg") stretchableImageWithLeft CapWidth:5 topCapHeight:5];
}
而使用的时候 我们要注意查看以下image.resizingMode 属性:
typedef NS_ENUM(NSInteger, UIImageResizingMode) {
UIImageResizingModeTile,
UIImageResizingModeStret ch, };
由文档 可知,一个是 填充 一个 是拉伸.
所以 不要弄错哦