计算字符长度
2015-11-18 19:32
567 查看
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface CustomSize : NSObject
+ (CGSize)returnSize:(NSString *)str font:(UIFont *)font;
+ (CGSize)returnSize:(NSString *)str fontSize:(CGFloat)fontSize;
+ (CGFloat)adaptionHeight:(NSString *)str
size:(CGFloat)number
width:(CGFloat)width;
+ (CGFloat)heightForText:(NSString *)text andFontSize:(UIFont *)font;
@end
#import "CustomSize.h"
@implementation CustomSize
#pragma mark---获取字符串的长度
+ (CGSize)returnSize:(NSString *)str fontSize:(CGFloat)fontSize{
UIFont *font = [UIFont systemFontOfSize:fontSize];
return [CustomSize returnSize:str font:font];
}
+ (CGSize)returnSize:(NSString *)str font:(UIFont *)font{
CGSize size = [str sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:font,NSFontAttributeName, nil]];
return size;
}
//根据文字大小自动生成height
#pragma mark---根据文字大小自动生成height
+ (CGFloat)adaptionHeight:(NSString *)str
size:(CGFloat)number
width:(CGFloat)width{
NSDictionary *infoTextDic = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:number],NSFontAttributeName, nil];
CGRect infoTextRect = [str boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading|NSStringDrawingTruncatesLastVisibleLine
attributes:infoTextDic context:nil];
CGFloat heingt = infoTextRect.size.height;
return heingt;
}
+ (CGFloat)heightForText:(NSString *)text andFontSize:(UIFont *)font
{
//设置计算文本时字体的大小,以什么标准来计算
NSDictionary *attrbute = @{NSFontAttributeName:font};
return [text boundingRectWithSize:CGSizeMake(ScreenWidth, 1000) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attrbute
context:nil].size.height;
}
@end
#import <UIKit/UIKit.h>
@interface CustomSize : NSObject
+ (CGSize)returnSize:(NSString *)str font:(UIFont *)font;
+ (CGSize)returnSize:(NSString *)str fontSize:(CGFloat)fontSize;
+ (CGFloat)adaptionHeight:(NSString *)str
size:(CGFloat)number
width:(CGFloat)width;
+ (CGFloat)heightForText:(NSString *)text andFontSize:(UIFont *)font;
@end
#import "CustomSize.h"
@implementation CustomSize
#pragma mark---获取字符串的长度
+ (CGSize)returnSize:(NSString *)str fontSize:(CGFloat)fontSize{
UIFont *font = [UIFont systemFontOfSize:fontSize];
return [CustomSize returnSize:str font:font];
}
+ (CGSize)returnSize:(NSString *)str font:(UIFont *)font{
CGSize size = [str sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:font,NSFontAttributeName, nil]];
return size;
}
//根据文字大小自动生成height
#pragma mark---根据文字大小自动生成height
+ (CGFloat)adaptionHeight:(NSString *)str
size:(CGFloat)number
width:(CGFloat)width{
NSDictionary *infoTextDic = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:number],NSFontAttributeName, nil];
CGRect infoTextRect = [str boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading|NSStringDrawingTruncatesLastVisibleLine
attributes:infoTextDic context:nil];
CGFloat heingt = infoTextRect.size.height;
return heingt;
}
+ (CGFloat)heightForText:(NSString *)text andFontSize:(UIFont *)font
{
//设置计算文本时字体的大小,以什么标准来计算
NSDictionary *attrbute = @{NSFontAttributeName:font};
return [text boundingRectWithSize:CGSizeMake(ScreenWidth, 1000) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attrbute
context:nil].size.height;
}
@end
相关文章推荐
- CANopen通信设备
- SQL基础知识2
- 如何在xcode7上免开发者账号进行ios程序真机测试
- 关于单例模式的多种写法
- Storm应用系列之——Spout、Bolt API
- OC内存管理和内存管理原则
- GPS坐标单位(度分秒)的换算方法
- Activity的跳转
- 在C语言中,double、long、unsigned、int、char类型数据所占字节数
- Android解惑 - 为什么要用Fragment.setArguments(Bundle bundle)来传递参数
- Windows的任务计划相关
- git Updates were rejected because the remote contains work that you do 解决办法
- 设计模式之 抽象工厂 封装业务逻辑层和Dao层
- php 正则匹配总览
- 自定义textFeild
- 自定义图文混排视图MyImageTextView
- 一看就明白的爬虫入门讲解:基础理论篇
- Authid Current_User简单介绍
- struts2标签使用
- Object-C中的集合类