代码改变世界

IOS 笔记 - 利用UIImage的stretchableImageWithLeftCapWidth方法给UIButton设置背景

2012-10-26 12:02  waddell  阅读(316)  评论(0编辑  收藏  举报

学习ios开发,我使用的是这本书《iphone3开发基础教程(完整版).pdf》这本书里的demo不错。

在我的下载空间里有。可以免费下载。


今天看了一个范例,是利用UIImage的stretchableImageWithLeftCapWidth方法给UIButton设置背景,代码如下:

- (void)viewDidLoad {
    [super viewDidLoad];
	UIImage *buttonImageNormal = [UIImage imageNamed:@"whiteButton.png"];
	UIImage *stretchableButtonImageNormal = [buttonImageNormal 
											 stretchableImageWithLeftCapWidth:12
											 topCapHeight:0];
	[doSomethingButton setBackgroundImage:stretchableButtonImageNormal 
								 forState:UIControlStateNormal];
	
	UIImage *buttonImagePressed = [UIImage imageNamed:@"blueButton.png"];
	UIImage *stretchableButtonImagePressed = [buttonImagePressed 
											  stretchableImageWithLeftCapWidth:12
											  topCapHeight:0];
	[doSomethingButton setBackgroundImage:stretchableButtonImagePressed
								 forState:UIControlStateHighlighted];
}

里面设置了button在两种状态下的展示:UIControlStateNormal(非触摸状态下)、UIControlStateHighlighted(触摸状态下)

在该代码种用到了UIImage的 stretchableImageWithLeftCapWidth 以及 topCapHeight 方法,

这两个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是左边不拉伸区域的宽度,第二个参数是上面不拉伸的高度。

使用方法如上。


更多使用参考:http://www.cocoachina.com/bbs/read.php?tid-4156.html