37-给UIImage,NSString添加扩展方法(根据内容拉伸图片,根据内容计算文本大小)

来源:互联网 发布:linux挂载windows盘 编辑:程序博客网 时间:2024/05/18 12:33

给UIImage,NSString添加扩展方法


============== 步骤 ==============

1.创建一个文件夹,用来存放扩展类

屏幕快照 2015-01-08 下午7.19.10.png

2.创建一个UIImage的分类(创建NSString的扩展就选择NSString)

屏幕快照 2015-01-08 下午7.20.37.png

3.在已经创建完成的UIImage分类中添加类方法

屏幕快照 2015-01-08 下午7.21.19.png

4.使用时候要导入该分类,然后直接用UIImage的类方法实现

导入头文件
屏幕快照 2015-01-08 下午7.25.28.png

使用
屏幕快照 2015-01-08 下午7.26.56.png



 ============== 源码  ==============

给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





0 0
原创粉丝点击