我在使用/理解resizableImageWithCapInsets
我设置了一个按钮,如下所示:
facebookLoginButton = [[UIButton alloc] initWithFrame:CGRectMake(10, 20, 300,50)];
facebookLoginButton.autoresizingMask = UIViewAutoresizingFlexibleWidth;
UIImage *facebookButton = [[UIImage imageNamed:@"FacebookLogin"]
resizableImageWithCapInsets:UIEdgeInsetsMake(20,90,20,56)];
[facebookLoginButton setBackgroundImage:facebookButton forState:UIControlStateNormal];
[facebookLoginButton setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
[facebookLoginButton setTitle:NSLocalizedString(@"FacebookLoginButton", "Facebook Login Button") forState:UIControlStateNormal];
[facebookLoginButton setTitleShadowColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:.35] forState:UIControlStateNormal];
[facebookLoginButton addTarget:self action:@selector(facebookLoginButton:) forControlEvents:UIControlEventTouchUpInside];
如您所见,按钮视图的框架为 300x50 像素。我已经为视网膜创建了一个图像(稍后将按比例缩小)。
该图像是在 PS 中创建的 png,大小为 144x100 像素。这是框架高度(对于 uibutton)和 Facebook F 所需宽度的两倍,并带有空间。这个想法是让 F 在左侧保持静止,而可拉伸部分如下所示。
如果有帮助,这是图像本身;
这是目前的结果:
我正在尝试找出要输入的正确插图。我已经搜索了大量关于此的教程,但没有一个解释足以让我了解插图的实际工作原理。如果有人可以解释这一点或链接到有关如何计算它们的教程,那就更好了。
我目前已将顶部和底部设置为 0,因为理论上它们不需要重复,只是静态左侧大于静态右侧。右边的插图仅适用于圆形边框,中间部分需要重复。