图片拉伸方法resizableImageWithCapInsets的一个小问题

对图片进行拉伸
+ (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进行平铺时造成图片变形问题。

你可能感兴趣的:(图片拉伸方法resizableImageWithCapInsets的一个小问题)