//以下是我工程中代码的一段,仅供参考理解spa
NSString *tmpIntroduction = nil; tmpIntroduction = recommentMessage.bookIntroduction; NSLog(@"书籍介绍内容:%@",tmpIntroduction); UIFont *font = [UIFont fontWithName:@"Arial" size:11]; NSDictionary *dict = @{NSFontAttributeName:font}; CGSize setSize = CGSizeMake([UIScreen mainScreen].bounds.size.width - 10, MAXFLOAT); //以下方法绘制的是一个rect,根据输入文字计算 CGRect tmpRect = [tmpIntroduction boundingRectWithSize:setSize options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil]; CGFloat height = tmpRect.size.height; NSLog(@"评论的高度:%f",
height);
code
//这是NSString的对象方法,一个字符串实例对象调用该方法时,方法会经过传入的参数返回一个CGRect类型数据,这个数据的size就是此时字符串显示成文本的尺寸。orm
//size:限制尺寸,计算文本绘制时所占的矩形块。例如本例子:size.w为当前屏宽 - 10,size.h能够设置成无限大MAXFLOAT以便于显示全部文字内容。对象
//options:文本绘制时的附加选项,共有四种类型:一般使用NSStringDrawingUsesLineFragmentOrigin,表示整个文本将以每行组成的矩形为单位计算整个文本的尺寸。字符串
//attributes:将本文UIFont存入字典传到这里,例如:NSDictionary *dic = @{NSFontAttributeName:font};it
//context:context上下文,包括一些信息,例如如何调整字间距以及缩放。该参数一般设为nil.io
//注意:计算的文本超过了给定的最大的宽高,就返回最大宽高;若是没有超过,就返回真实占用的宽高class