2013-02-14 34 views
0

我在使用它们之前和使用过的时候都使用过可伸缩图像我必须手动输入cap insets,如果我弄错了,图像看起来是错误的。UIImage resizableImageWithCapInsets上限数据

有没有什么方法可以将cap数据“植入”到某个文件中,然后可以与图像一起读取。

UIImage *image = [UIImage loadResizableImageWithFile:"someFile"]; 

这样设计者可以输入具有手动键入这些图像代替我的盖尺寸。

回答

0

使用stretchableImageWithLeftCapWidth实现此目的的方法。提供示例代码。

CGSize imgSize = stretchableImage.size; 
if ([stretchableImage respondsToSelector:@selector(stretchableImageWithLeftCapWidth:topCapHeight:)]) { 
    stretchableImage = [stretchableImage stretchableImageWithLeftCapWidth:(imgSize.width/2.0) - 1 topCapHeight:(imgSize.height/2.0) - 1]; 
} else { 
    stretchableImage = [stretchableImage resizableImageWithCapInsets:UIEdgeInsetsMake((imgSize.height/2.0) - 1, (imgSize.width/2.0) - 1, (imgSize.height/2.0) - 1, (imgSize.width/2.0) - 1)]; 
} 
+0

那种方法过时了,因为iOS的5.我知道如何使用它。在你的例子中,你已经手动输入了帽子的大小。这就是我想要避免的。所以设计师可以提供一个plist文件或其他东西。 – Fogmeister 2013-02-14 12:27:56

0

iOS本身并不提供一种机制来将可拉伸部分嵌入到图像本身中。

我知道android通过在图像周围添加1像素边框来实现此目的,并使用该边框中的黑色像素来指示可拉伸部分。

这里快速搜索关于堆栈溢出导致an answer链接到iOS替代:Tortuga22-NinePatch(Apache许可证)

相关问题