- -
(UIImage *)resizableImageWithCapIns ets:(UIEdgeInsets)capInsets NS_AVAILABLE_IOS(5_0); // create a resizable version of this image. the interior is tiled when drawn. - -
(UIImage *)resizableImageWithCapIns ets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode NS_AVAILABLE_IOS(6_0); // the interior is resized according to the resizingMode -
- @property(nonatomic,readonly)
UIEdgeInsets capInsets NS_AVAILABLE_IOS(5_0); // default is UIEdgeInsetsZero for non resizable images - @property(nonatomic,readonly)
UIImageResizingMode resizingMode NS_AVAILABLE_IOS(6_0); // default is UIImageResizingModeTile
- resizableImageWithCapIns
ets
比如你的图片是120像素的圆角矩形,你想四个角不变,中间随意拉伸。假设每个角都可以用一个10*10的框框框起来。
那你可以使用 (10,10,10,10) ,在你的图片中画一个(距顶10,距左10,距底10,距右10)的矩形,表示该范围内拉伸。
但是,这个图片的使用就需要注意了,图片要使用1X大小的。
例子:
-
//不能直接设定2倍 - //
UIImage *image = [UIImage imageNamed:@"image@2x"]; - //
image = [image resizableImageWithCapIns ets:UIEdgeInsetsMake(10.0, 10.0, 10.0, 10.0)]; -
//应使用单倍 -
UIImage *image = [UIImage imageNamed:@"image"]; -
image = [image resizableImageWithCapIns ets:UIEdgeInsetsMake(10.0, 10.0, 10.0, 10.0)];