let insets = UIEdgeInsetsMake(30, 0, 10, 0)
//top: CGFloat, _ left: CGFloat, _ bottom: CGFloat, _ right: CGFloat 其中Insets这个参数的格式是 (top, left, bottom, right),从上、左、下、右分别在图片上画了一道线,这样就给一个图片加了一个框。
只有在框里面的部分才会被拉伸,而框外面的部分则不会改变。 4个参数是上边界,左边界,下边界,右边界距离,也可以为负值。
let image = UIImage(named: "icon.png")
//iOS5之前,端盖(end cap)概念,用来指定图片中的哪一部分不用拉伸。上下左右不需要被拉伸的边缘就称为端盖。
//iOS5 + 方法
bodyImage.image = image?.resizableImageWithCapInsets(insets)
//iOS6 + 方法
bodyImage.image = image?.resizableImageWithCapInsets(insets, resizingMode: UIImageResizingMode.Stretch)
resizingMode 用来指定拉伸模式:
- UIImageResizingMode.Stretch 拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片
- UIImageResizingMode.Tile 平铺模式,通过重复显示UIEdgeInsets指定的矩形区域来填充图片