如何实现为UIButton创build的自定义背景艺术的scale-9(9-slice)

我需要以编程方式执行,以便为可变大小的UIButton使用相同的背景图像? (通常称为9切片缩放或缩放-9)

查看:

- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight 

在UIImage类中。

如果我明白你正在寻找的是什么,那么你可以使用一个png来定义你的button的外观,并且可以垂直或水平地伸展到任何尺寸。

我知道这是一个古老的线程,但是对于任何在iOS 5发布后遇到这种情况的人,应该从Apple的文档中注意到,从iOS 5开始,不推荐使用stretchableImageWithLeftCapWidth:topCapHeight:方法:

弃用的UIImage方法

在iOS 5.0中弃用。 已过时。 使用resizableImageWithCapInsets :而是指定cap insets,使内部是1×1区域。

所以,现在iOS 6已经公布了,并且很快就会到来,所以任何为iOS 5和更高版本开发的人都应该看看resizableImageWithCapInsets,而这些文档可以在这里find:

UIImage类参考 – resizableImageWithCapInsets

只是想我会提到它来帮助任何开发人员需要更新的答案来解决这个问题。