对图片进行拉伸
+ (UIImage *)resizableImage:(NSString *)name{
UIImage *normal = [UIImage imageNamed:name];
// 图形处理 拉伸图片
CGFloat w = normal.size.width * 0.5;
CGFloat h = normal.size.height * 0.5;
// 只对中间那个框框进行拉伸
return [normal resizableImageWithCapInsets:UIEdgeInsetsMake(h, w, h, w)];
}
今天在弄聊天的时候气泡问题,需要对聊天气泡进行拉伸进,用到上面这个方法。但是发现图片一直发生形变,找了一会儿终于找到问题所在,在此记录一下:
- 在retina屏幕下程序会自动寻找@2x图片,如果没有后缀为@2x图片,就会自动拉伸非@2x图片,所以尽量将你的图片都带上@2x后缀,这样就不会造成在使用resizableImageWithCapInsets时因无法找到@2x图片对原图进行拉伸进而再使用resizableImageWithCapInsets进行平铺时造成图片变形问题。