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

  • 固定的左帽
  • 固定右帽
  • 一张中间一张的中间图像,以填满所有可用空间

  • 像下面的例子一样?

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

    最佳答案

    据我所知,这是不可能完成的。您可以做的是拉伸图像,但是不能添加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];
    
    从苹果的UIImage Class Reference:

    resizableImageWithCapInsets:
    您可以使用此方法向图像添加大写插入或更改图像的现有大写插入。 [...]在缩放或调整图像大小时,盖所覆盖的区域不会缩放或调整大小。取而代之的是,在每个方向上均未覆盖盖帽的覆盖的像素区域从左到右和从上到下平铺,以调整图像的大小。”

    您可以在http://mobiledevelopertips.com/user-interface/ios-5-uiimage-and-resizableimagewithcapinsets.html了解更多信息

    关于ios - 带有左右键帽和中间图案的UIButton,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11824603/

    10-14 21:49