在做项目的过程中,经常要用到各种尺寸的图片。有的图片则是长度不同,但是他们的某些区域是相同的。那有没有什么方法可以不用美工来切好多张图,用一张就可以实现呢?
这样既可以减轻美工工作量,又可以减少包得大小。 答案就是用resizableImageWithCapInsets。声明如下:
func resizableImageWithCapInsets(capInsets: UIEdgeInsets, resizingMode: UIImageResizingMode) -> UIImage // the interior is resized according to the resizingMode
其中使用capInsets:UIEdgeInsets 可以圈定一个矩形,这个图片矩形内的区域会拉伸变形,而这个矩形区域外的部分则会保持原样。
resizingMode:包括两种模式:
1)Title 通过重复显示UIEdgeInsets指定的矩形区域来填充图片
2) Stretch 通过拉伸UIEdgeInsets指定的矩形区域来填充图片
enum UIImageResizingMode : Int {
case Tile
case Stretch
}