Iphone 可拉伸图像拉伸部分宽度大于1px

Iphone 可拉伸图像拉伸部分宽度大于1px,iphone,cocoa-touch,uiimage,Iphone,Cocoa Touch,Uiimage,我想创建一个UIButton,它使用一个可拉伸的图像作为背景图像,例如,我可以轻松地调整按钮的大小以适应不同的标签等 因此,我创建了以下代码,该代码运行良好: UIImage *bgImage = [[UIImage imageNamed:@"Button-Template.png"]stretchableImageWithLeftCapWidth:2 topCapHeight:2]; UIButton *loginButton = [UIButton buttonWithType:UIButt

我想创建一个UIButton,它使用一个可拉伸的图像作为背景图像,例如,我可以轻松地调整按钮的大小以适应不同的标签等

因此,我创建了以下代码,该代码运行良好:

UIImage *bgImage = [[UIImage imageNamed:@"Button-Template.png"]stretchableImageWithLeftCapWidth:2 topCapHeight:2];
UIButton *loginButton = [UIButton buttonWithType:UIButtonTypeCustom];
loginButton.frame = CGRectMake(180, 280, 112, 40);
[loginButton setBackgroundImage:bgImage forState:UIControlStateNormal];
// some more stuff
现在需要注意的是:iphonesdk假设图像的可拉伸部分的宽度正好是一个像素,这在我的图像中不是这样,因为我想创建一个模式,这需要每两个像素重复一次(因此2个像素是一个模式单元)。我在文档中没有发现是否可以改变可拉伸零件宽度的值(在我的案例中是2而不是1)的信息,有人知道如何做到这一点,或者我如何通过解决方法实现我的目标吗?现在,我自己写拉伸部分似乎有点牵强(尽管我可能不得不回到这一点上)


谢谢

没有使用2像素作为拉伸宽度的API。您必须在自定义视图中自己实现此行为,或者使用具有特定宽度的图像。

在iOS 5.0上,您可以使用ResizebleMageWithCapInsets:

检查

但此方法仅适用于iOS>=5.0设备,因此这可能是一个错误
现在把音量关小。

好的,谢谢!如果我只是在Photoshop中创建不同大小的视图,速度会更快,但是如果我有一点空闲时间,我会为此创建一个自定义视图。感谢大家的提醒,这将在将来派上用场!