UIImage 拉伸图片 resizableImageWithCapInsets

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指定的矩形区域来填充图片
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy