如何为自定义背景艺术品实现缩放9(9切片)以用于创建UIButton

6

我需要在程序中做些什么才能够使用同一张背景图片作为大小可变的UIButton的背景呢?(通常被称为九宫格缩放或9切片缩放)

2个回答

16

我知道这是一个旧的线程,但对于在iOS 5发布后遇到此问题的任何人,应该注意从苹果文档中可以看出,stretchableImageWithLeftCapWidth:topCapHeight:方法已经被弃用了:

UIImage方法弃用列表

iOS 5.0开始弃用。建议使用resizableImageWithCapInsets方法,指定内部为1x1的区域。

因此,现在iOS 6已经发布并即将到来,任何开发iOS 5及以上版本的人都应该考虑使用resizableImageWithCapInsets方法,其文档可以在以下链接找到:

UIImage Class Reference - resizableImageWithCapInsets

只是想提一下,以帮助任何需要更新答案的开发者。


6

请查看:

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

在UIImage类中。

如果我正确理解您的需求,这将允许您使用一个PNG文件来定义按钮的外观,并且它会在垂直或水平方向上自动拉伸到任意大小。


2009年的回答很好,但正如Evan所说,resizableImageWithCapInsets现在是更为更新的API。 - joehinkle11

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接