给UIImage,NSString添加扩展方法
============== 步骤 ==============
1.创建一个文件夹,用来存放扩展类
2.创建一个UIImage的分类(创建NSString的扩展就选择NSString)
3.在已经创建完成的UIImage分类中添加类方法
4.使用时候要导入该分类,然后直接用UIImage的类方法实现
导入头文件
使用
============== 源码 ==============
给UIImage添加扩展方法,根据内容拉伸图片
// UIImage+Extensiton.h
#import <UIKit/UIKit.h>
@interface UIImage (Extensiton)
+( UIImage *) resizeImage:( NSString *)imageName;
@end
// UIImage+Extensiton.m
#import "UIImage+Extensiton.h"
@implementation UIImage (Extensiton)
/**
* 根据内容拉伸图片
*
* @param imageName 图片名字
*
* @return 计算完成后的图片
*/
+( UIImage *) resizeImage:( NSString *)imageName
{
UIImage *img=[ UIImage imageNamed :imageName];
return [img stretchableImageWithLeftCapWidth :img. size . width / 2 topCapHeight :img. size . height / 2 ];
}
@end
给NSString添加扩展方法,根据内容计算文本大小
// NSString+Extensiton.h
#import <Foundation/Foundation.h>
//要导入UIKit头文件 才能使用 CGSize等结构体
#import <UIKit/UIKit.h>
@interface NSString (Extensiton)
+( CGSize )textOfText:( NSString *)text maxSize:( CGSize )maxSize fontSize:( CGFloat )fontSize;
@end
// NSString+Extensiton.m
#import "NSString+Extensiton.h"
@implementation NSString (Extensiton)
/**
* 计算文本Size
*
* @param text 要计算的文本
* @param maxSize 需要限制的size
* @param fontSize 计算文本的字体大小
*
* @return 文本Size
*/
+( CGSize )textOfText:( NSString *)text maxSize:( CGSize )maxSize fontSize:( CGFloat )fontSize
{
CGSize size=[text boundingRectWithSize :maxSize options : NSStringDrawingUsesLineFragmentOrigin attributes : @{ NSFontAttributeName :[ UIFont systemFontOfSize :fontSize] } context : nil ]. size ;
return size;
}
@end