如何使用由以下内容组成的背景图片创建UIButton
:
就像下面的例子一样?
编辑:我没有意识到在中心没有 N 重复图像,但只有一个拉链图像。请参阅接受的答案。
答案 0 :(得分:5)
据我所知,无法做到。您可以做的是拉伸图像,但不能添加n个中间图像。
在其间添加可伸缩图像的代码是
//Create an image - Where UIEdgeInsets is in top left bottom right
UIImage* buttonImage = [[UIImage imageNamed:@"button.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 16, 0, 16)];
// Create a custom buttom
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
myButton.frame = CGRectMake(0, 0, 100, buttonImage.size.height);
[myButton setBackgroundImage:buttonImage forState:UIControlStateNormal];
[myButton setTitle:@"Button" forState:UIControlStateNormal];
//Add it to view - if it is a view controller self.view
[self addView:myButton];
来自Apple的UIImage Class Reference:
“ resizableImageWithCapInsets:
您可以使用此方法为图像添加上限,或更改图像的现有上限。 [...]在缩放图像或调整图像大小时,标题覆盖的区域不会缩放或调整大小。相反,每个方向上没有被上限覆盖的像素区域平铺,从左到右,从上到下,以调整图像大小。“ [强调添加]
您可以在http://mobiledevelopertips.com/user-interface/ios-5-uiimage-and-resizableimagewithcapinsets.html
了解更多相关信息