项目经验iOS开发iOS 开发

图片的拉伸

2016-02-11  本文已影响159人  Z了个L
    UIImage *image = [UIImage imageNamed:@"chat_send_nor"];
    // 作用: 根据传入需要保护的区域返回一张受保护的图片
    UIEdgeInsets edgeInsets = UIEdgeInsetsMake(image.size.height * 0.5, image.size.width * 0.5, image.size.height * 0.5 -1, image.size.width * 0.5 -1);
    UIImage *protectImage = [image resizableImageWithCapInsets:edgeInsets];
    self.imageView.image = protectImage;
    UIImage *image = [UIImage imageNamed:@"chat_send_nor"];
    UIEdgeInsets edgeInsets = UIEdgeInsetsMake(image.size.height * 0.5, image.size.width * 0.5, image.size.height * 0.5 -1, image.size.width * 0.5 -1);
    /*
     UIImageResizingModeTile,  以平铺的方式进行拉伸
     UIImageResizingModeStretch, 直接拉伸平铺
     */
    UIImage *protectImage = [image resizableImageWithCapInsets:edgeInsets resizingMode:UIImageResizingModeTile];
    self.imageView.image = protectImage;
    UIImage *image = [UIImage imageNamed:@"chat_send_nor"];
    // rightCapWidth = width - leftCapWidth - 1
    // bottomCapWidth = height - topCapWidth - 1
    UIImage *protectImage = [image stretchableImageWithLeftCapWidth:image.size.width * 0.5 topCapHeight:image.size.height *0.5];
    self.imageView.image = protectImage;
// 为UIImage添加一个分类
// UIImage+XMGExtention.h
#import <UIKit/UIKit.h>

@interface UIImage (XMGExtention)
/**
 *  返回一张受保护的图片
 *
 *  @param imageName 图片的名称
 *
 *  @return 受保护的图片
 */
+ (instancetype)resizableImageWithImageName:(NSString *)imageName;
@end

// UIImage+XMGExtention.m
#import "UIImage+XMGExtention.h"

@implementation UIImage (XMGExtention)
+(instancetype)resizableImageWithImageName:(NSString *)imageName{
   // 创建图片对象
    UIImage *image = [UIImage imageNamed:imageName];
    // 图片的尺寸
    CGFloat imageWidth = image.size.width * 0.5;
    CGFloat imageHeight = image.size.height * 0.5;
    return [image stretchableImageWithLeftCapWidth:imageWidth topCapHeight:imageHeight];
}
@end


UIImage *image = [UIImage resizableImageWithImageName:@"chat_send_nor"];
    self.imageView.image = image;

上一篇 下一篇

猜你喜欢

热点阅读