没有代码,将可伸缩图像设置为UIButton背景图像

时间:2014-11-10 18:40:39

标签: ios xcode

我有一个带有UIButton的笔尖。我有一个png设计用于拉伸,中间有一个像素。

我想将png设置为按钮的backgroundImage。我喜欢它的功能就像我打电话resizableImageWithCapInsets:resizingMode:并通过了UIImageResizingModeStretch

有人可以给我一个如何在没有代码的情况下做到这一点的精确描述吗?

到目前为止,我使用的是此类别:

@implementation UIImage (Stretch)

- (UIImage *)stretchedImage {
    CGFloat capWidth =  floorf(self.size.width / 2);
    CGFloat capHeight =  floorf(self.size.height / 2);
    UIImage *capImage = [self resizableImageWithCapInsets:UIEdgeInsetsMake(capWidth, capWidth, capHeight, capHeight) resizingMode:UIImageResizingModeStretch];
    return capImage;
}

@end

然后我从UIImage中抓取背景图像,拉伸它然后将其设置回来:

[self.optionsButton setBackgroundImage:[[self.optionsButton backgroundImageForState:UIControlStateNormal] stretchedImage] forState:UIControlStateNormal];

它有效,但我宁愿能够在没有代码的情况下完成它。

编辑:由于它是一个像素,我不明白为什么它需要拉伸而不是瓷砖。因此,我认为,使用平铺工作的答案也同样好。

1 个答案:

答案 0 :(得分:0)

不会给出您的价值的确切答案,但是:

  1. 选择资产目录中的图像。
  2. 在检查器面板中,转到“属性”检查器。
  3. 靠近底部,有一个切片部分。将其从“无”更改为“水平和垂直”。
  4. 选择所需的切片属性。
  5. 作为奖励,靠近主编辑的底部有一个按钮,显示“显示切片”。单击它,您就可以预览图像切片。

    完成后,照常使用此图像,资产目录将为您提供可调整大小的图像。