iOS中image拉伸操作的三种方式

iOS中image拉伸操作的三种方式

方式一

  • 这种方式在iOS6的时候才出现

UIImage *image = [UIImage imageNamed:@"chat_send_nor"];
// 拉伸处理(说明需要保护的区域)
image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(30, 30, 30, 30) resizingMode:UIImageResizingModeStretch];

方式二

  • 这种方式是苹果刚出来的时候就有了
 UIImage *image = [UIImage imageNamed:@"chat_send_nor"];
 // 这种方式的图片拉伸只需要传入左侧和顶部,苹果内部就会自动计算出底部和右侧的间距,计算方式见下面的注释;
 image = [image stretchableImageWithLeftCapWidth:image.size.width * 0.5 topCapHeight:image.size.height * 0.5];

    // left
    // top
    // width
    // height
    // right = width - left - 1;
    // 1 = width - left - right;
    // bottom = height - top - 1;
    // 1 = height - top - bottom;

方式三

  • 直接对Images.xcassets里面的图片进行操作:见下图
iOS中image拉伸操作的三种方式_第1张图片
  • 选择Horizental and Vertical选项
iOS中image拉伸操作的三种方式_第2张图片
  • 在通过[UIImage imageNamed:]方法获得的该图片就会是自动拉伸之后的效果了.

你可能感兴趣的:(iOS中image拉伸操作的三种方式)