2013-08-23 41 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