1.概述
- 在开发中我们经常会设置控件的背景图片,有时图片太小,而一般系统默认的图片内容显示是填充整个视图的,这个时候若是图片四角是圆角或其他不规则形状的话,在拉伸后会造成图片变形,为了解决这种情况,苹果特别提供了一些方法来保证图片在拉伸后,四角不变形
- 图例

2.故事板中直接设置
- 方法1:
- 在Xcode6之后,我们可以在资源文件中直接设置图片的属性,通过设置slicing属性,默认情况下是none,我们可以设置水平方向拉伸,垂直方向拉伸,以及水平方向和垂直方向都拉伸
-方法2: - 实现原理和方法一类似,只不过更加直观,我们可以直接选择show overView,通过拖拽直接设置可拉伸区域,更加直观

3.代码设置
UIImage *newImage = [image stretchableImageWithLeftCapWidth:5 topCapHeight:5];
UIEdgeInsets insets = UIEdgeInsetsMake(image.size.height * 0.5, image.size.width * 0.5, image.size.height * 0.5, image.size.width * 0.5);
UIImage *newImage = [image resizableImageWithCapInsets:insets];
UIButton *btn = [[UIButton alloc] init];
UIImage *image = [UIImage imageNamed:@"图片名称"];
UIEdgeInsets insets = UIEdgeInsetsMake(5, 5, 5, 5);
UIImage *newImage = [image resizableImageWithCapInsets:insets resizingMode:UIImageResizingModeStretch];
[btn setBackgroundImage:newImage forState:UIControlStateNormal];
btn.frame = CGRectMake(100, 100, 200, 80);
[self.view addSubview:btn];