图片的拉伸

//类扩展

#import "UIImage+CMZExtention.h"

@implementation UIImage (CMZExtention)  

 + (instancetype)resizableImgWithLocalImageName:(NSString *)localImgName

{

    UIImage *image = [UIImage imageNamed:localImgName];

    CGFloat imgWidth = image.size.width;

    CGFloat imgHeight = image.size.height;

 //方式一:

     /** 返回一张受保护而且拉伸的图片 --->CapInsets:哪些地方要保护不被拉伸*/

    UIImage *resizableImg = [image resizableImageWithCapInsets:UIEdgeInsetsMake(imgHeight *0.5, imgWidth * 0.5, imgHeight * 0.5 - 1, imgWidth * 0.5 - 1)];

//方式二:

     /** 右边需要保护的区域 = 图片的宽度 - leftCapWidth - 1

      * bottom cap = height - topCapHeight - 1

      */

    UIImage *resizableImg = [image stretchableImageWithLeftCapWidth:imgWidth * 0.5 topCapHeight:imgHeight * 0.5];

    return resizableImg;

}

调用:

    UIImage *resizableImg = [UIImage resizableImgWithLocalImageName:@"chatMsgToBgNormal"];

    

    [self.button setBackgroundImage:resizableImg forState:UIControlStateNormal];

方式三:

在 Assets.xcassets 里面,选中图片,点击 show the attributes inspector ,找到属性 Slicing ,设置要保护的地方。

做一个有心的女人 比做一个有心机的女人强!
原文地址:https://www.cnblogs.com/LongLianChuan/p/6293569.html