2013-08-23 33 views
0

我有几个图像在界面中有一个边框和一些背景里面。有点像这样:我怎样才能拉伸(不平铺)UIImage与端盖

image example

我想舒展他们,离开边境完好。 resizableImageWithCapInsets方法好像应该可以工作,但它是瓦片图像的内部部分。这不是我想要的。我可以以某种方式使它伸展图像的内部部分?

回答

5

使用方法:

- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode 

,并通过对resisizingModeUIImageResizingModeStretch

我相信他们在WWDC的一个2012个会话,如果室内面积为1个像素宽或高系统假定它说应该拉伸,否则系统认为它应该平铺。然而,使用这个稍微不同的API,您可以选择指定是否要拉伸或平铺。

Source

+0

啊小时,它确实有效!谢谢! – Nevermind

0

可以使用的UIImage的resizableImageWithCapInsets方法

Example--> 

Original Image 

enter image description here

Output Image 

enter image description here

UIImage *im = [[UIImage imageNamed:@"a.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 4, 0, 13)]; 
+0

我相信这个问题明确指出,这种确切的方法不会做我想要的。不过,使用'resizingMode:'的人确实如此。 – Nevermind