我以前使用过可伸展的图像,每当我使用它们时,我必须手动输入盖子插页,如果我弄错了,图像看起来就是错误的。
有没有办法将cap数据“植入”到某个文件中,然后可以与图像一起读取。
即
UIImage *image = [UIImage loadResizableImageWithFile:"someFile"];这样,设计师就可以输入图像的盖子大小,而不是我手动键入它们。
发布于 2013-02-14 20:26:39
使用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)];
}发布于 2013-02-14 20:33:44
iOS本身并没有提供一种将可伸展部分嵌入到图像中的机制。
我知道android通过在图像周围添加1像素的边框来实现这一点,并在该边框中使用黑色像素来表示可伸展的部分。
在堆栈溢出上快速搜索一下,就会找到链接到iOS替代品的an answer:Tortuga22-NinePatch (Apache )
https://stackoverflow.com/questions/14874817
复制相似问题