UIImage *buttonImageNomal=[UIImage imageNamed:@"buttonNomal.png"];
UIImage *stretchableButtonImageNomal=[buttonImageNomal stretchableImageWithLeftCapWidth:12 topCapHeight:0];
[self.doSomething setBackgroundImage:stretchableButtonImageNomal forState:UIControlStateNormal];
UIImage *imageButtonPress=[UIImage imageNamed:@"buttonPress.png"];
UIImage *stretchableButtonImagePress=[imageButtonPress stretchableImageWithLeftCapWidth:12 topCapHeight:0];
[self.doSomething setBackgroundImage:stretchableButtonImagePress forState:UIControlStateHighlighted];
- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight
这个函数是UIImage的一个实例函数,
它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数:
第一个是不拉伸区域和左边框的宽度;
第二个参数是不拉伸区域和上边框的宽度。
它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数:
第一个是不拉伸区域和左边框的宽度;
第二个参数是不拉伸区域和上边框的宽度。
第一次用这个函数的时候一直搞不懂为什么只要两个参数就行,至少应该指定左上角和右下角,总共四个参数啊。后来读读文档才明白,只需要两个参数就行了。
参数的意义是,如果参数指定10,5。那么,图片左边10个像素,上边5个像素。不会被拉伸,x坐标为11和一个像素会被横向复制,y坐标为6的一个像素会被纵向复制。注意:只是对一个像素进行复制到一定宽度。
典型的应用就是气泡聊天拉