| 在實(shí)際開發(fā)中, 經(jīng)常用到的擴(kuò)展.自己總結(jié)的經(jīng)驗(yàn).
.h 文件
#import <UIKit/UIKit.h>
@interface UIImage (YYExtension)
/**保持不渲染圖片*/
@property(nonatomic, strong, readonly)UIImage *originarImage;
/**保護(hù)圖片四周, 拉伸中間一個(gè)像素點(diǎn)*/
@property(nonatomic, strong, readonly) UIImage *resizbleImage;
/**返回一張不被渲染的圖片*/
+ (UIImage *)imageWithOriginalName:(NSString *)imageName;
/**保護(hù)圖片四周, 拉伸中間一個(gè)像素點(diǎn)*/
+ (UIImage *)resizbleImage:(NSString *)imageName;
@end
.m 文件
#import "UIImage+YYExtension.h"
@implementation UIImage (YYExtension)
/**不被渲染*/
- (UIImage *)originarImage{
return [self imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
}
/**保護(hù)圖片四周, 拉伸中間一個(gè)像素點(diǎn)*/
- (UIImage *)resizbleImage{
return [self stretchableImageWithLeftCapWidth:self.size.width * 0.5 topCapHeight:self.size.height * 0.5];
}
/**不被渲染*/
+ (UIImage *)imageWithOriginalName:(NSString *)imageName{
return [[UIImage imageNamed:imageName] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
}
/**保護(hù)圖片四周, 拉伸中間一個(gè)像素點(diǎn)*/
+ (UIImage *)resizbleImage:(NSString *)imageName{
UIImage *image = [UIImage imageNamed:imageName];
return [image stretchableImageWithLeftCapWidth:image.size.width * 0.5 topCapHeight:image.size.height * 0.5];
}
@end
如何實(shí)現(xiàn)
[UIImage imageNamed:@""].originarImage;
[UIImage imageWithOriginalName:@""];
[UIImage imageNamed:@""].resizbleImage;
[UIImage resizbleImage:@""];
注意: 使用之前一定要引入頭文件