0

我正在努力计算 resizableImageWithCapInsets 的参数。

我创建了一个如下所示的按钮图像,我将用于 Facebook 登录。我希望 Facebook 'f' 是静态的,其余部分(右侧)可以伸展,我相信你可以想象。

在此处输入图像描述

这是我输出最接近的代码:

UIImage *facebookButton = [[UIImage imageNamed:@"FacebookLogin"]
                           resizableImageWithCapInsets:UIEdgeInsetsMake(18, 36, 18, 18)];

结果如下:

在此处输入图像描述

我试图在网上遵循这个解释,但我发现它很难理解。如果有人知道正确的调整大小以及任何有用的教程/指南,那就太好了。

4

2 回答 2

0

在您发布的链接中,他只使用没有图像的按钮 - 整个按钮仍在拉伸,如果他在这些按钮上有图像,结果将是您遇到的。

您需要将图像拆分为“图标”和“文本”部分,如下所示: 在此处输入图像描述

我是 Obj-C 的新手,但希望这会有所帮助。

于 2013-03-28T23:52:22.277 回答
0

看起来您将按钮的框架设置为比图像高。这不起作用,因为“f”看起来不太好拉伸。最好的解决方案是将按钮的框架设置为与图像相同的高度(36 像素)。但是,如果需要,请像这样设置插图:

UIEdgeInsetsMake(4, 36, 31, 35)

这将在“f”上方和圆角下方拉伸蓝线,将徽标留在左下方。(插入顺序为上、右、下、左。)

于 2013-03-29T00:55:41.417 回答