创设可拉伸图片

创建可拉伸图片

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

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

第一次用这个函数的时候一直搞不懂为什么只要两个参数就行,至少应该指定左上角和右下角,总共四个参数啊。后来读读文档才明白,只需要两个参数就行了。

参数的意义是,如果参数指定10,5。那么,图片左边10个像素,上边5个像素。不会被拉伸,x坐标为11和一个像素会被横向复制,y坐标为6的一个像素会被纵向复制。注意:只是对一个像素进行复制到一定宽度。

附:两个聊天用的汽泡,与参数值。
创设可拉伸图片 15,13
创设可拉伸图片21,13

 

UIImage *stetchLeftTrack = [[UIImage imageNamed:@"orangeslide.png"]

stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];

1 楼 liuxco 2011-10-14  
疑问:如果采用动画过度拉伸一个UIImage,四个角得情况是怎样?
情况1:四个角遵照stretchableImageWithLeftCapWidth方法的标准,保持不变中间拉伸。
情况2:四个角采取普通UIImage拉伸方式,直到拉伸到stretchableImageWithLeftCapWidth方法设定的大小,然后切换到四角不变的状态。(这样就会产生视觉跳跃)

引申问题:ios的动画过程是怎样的处理机制?