Ios 在没有代码的情况下,将可拉伸图像设置为UIButton背景图像

Ios 在没有代码的情况下,将可拉伸图像设置为UIButton背景图像,ios,xcode,Ios,Xcode,我有一个带ui按钮的笔尖。我有一个PNG设计用来拉伸,中间有一个像素。 我想将png设置为按钮的背景图像。我希望它能够像调用resizebleimagewithcapinsets:resizingMode:并传递UIImageResizingModeStretch一样工作 有人能给我一个准确的描述,我如何可以做到这一点没有代码 到目前为止,我使用的是以下类别: @implementation UIImage (Stretch) - (UIImage *)stretchedImage {

我有一个带
ui按钮的笔尖。我有一个PNG设计用来拉伸,中间有一个像素。

我想将png设置为按钮的背景图像。我希望它能够像调用
resizebleimagewithcapinsets: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];
这是可行的,但我宁愿不用代码也能做到


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

不会给出你的价值观的确切答案,但:

  • 在资源目录中选择图像
  • 在“检查器”面板中,转到属性检查器
  • 在底部附近,有一个切片部分。将其从“无”更改为“水平和垂直”
  • 选择所需的切片属性
  • 作为奖励,在主编辑器底部附近有一个按钮,上面写着“显示切片”。单击它,您将能够预览图像切片


    完成后,像往常一样使用此图像,资产目录将返回一个可调整大小的图像。

    谢谢您的回答!我最终用另一种方法解决了这个问题,但下次遇到它时,我会尝试你的解决方案。