这篇文章不错:
Xcode slicing
这里主要讲下Slicing里三条线条的意义和作用
首先,先分解出水平拉伸效果的来看,这里选择的拉伸效果为Tiles也就是瓷砖式复制图像元素填充模式。

image
其中三条线的作用如下

image
也就是当图片拉伸时,用区域A的图片元素去不断复制填充区域B的空间,区域B是被白遮罩层盖的,这区域的图片部分是不可见的,是用于区域A填充的空间。
线1和线2的区间为区域A
线2和线3之间的白遮罩区间为区域B
竖向拉伸效果的判断同理
这部分摘自:
https://www.jianshu.com/p/1bcffdda9bbd
下边这个文章讲的挺清楚
Image Slicing功能是在WWDC 2013中Xcode 5 中新增的,类似于安卓里面的Create 9-Patch file。现在用的最多的场景就是聊天功能中,聊天内容的背景框图片可以随文字多少自动变换高度。
代码等同于:- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode
接下来,我们用一张颜色鲜明的图来看看Slicing到底是如何作用的。进入Assets,选中图片,点击右下角的Show Slicing,在图片上出现三个可操作按钮。如下图。

image
先看水平方向。点击之后如下图,图片上出现三根线,Inspector面板中也有Slicing对应的设置。

image
-
左边线表示左边的区域不能被重复
-
右边线表示右边的区域不能被重复
-
中间线和左边线之间的区域被重复
-
中间线和右边线之间的区域舍弃掉(舍弃的部分会有白色蒙板)

image
同理,从垂直方向上看也一样。左边和右边分别对应上边和下边。如果同时有水平和垂直方向,那么重复区域取交集,不能被重复部分选并集,舍弃掉的部分视觉上可直接看到。
-
slices是 拉伸的方向,其中有四个选项。不同选项下方对应的insert也不一样。 -
center是 重复部分的填充方式-
Tiles:平铺 -
Stretches:拉伸
-
-
center下的width和height分别代表可重复部分的宽和高,只有上下左右同时裁剪的时候才会有。在只有水平方向时,只有width;在只有垂直方向时,只有height。
(ps:直接配置上述各种数值和手动拖线的功能是一样的。)
接下来直接拿一张聊天背景框的图片操刀练手一下。背景框图片带四个圆角,首先这四个圆角是不能被重复的,由于是纯色背景图,那么可重复和被舍弃部分就有好几种方案。如下图,提供其中一种slicing方案,1~8都是不可重复的。模拟器上跑起来,不管imageView的高度如何,图片都不会变形或模糊。

image