UIButton有左+右帽和中间图案

时间:2012-08-06 08:07:49

标签: ios cocoa-touch uibutton

如何使用由以下内容组成的背景图片创建UIButton

  1. 固定的上限
  2. 固定的上限
  3. 许多中间图像一个接一个地放置以填充所有可用空间
  4. 就像下面的例子一样?

    UIButton

    编辑:我没有意识到在中心没有 N 重复图像,但只有一个拉链图像。请参阅接受的答案。

1 个答案:

答案 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

了解更多相关信息