/**
* 计算文字的Size大小
*
* @param text 文字内容
* @param font 文字字体
* @param maxSize 文字最大尺寸
*/
- (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font maxSize:(CGSize)maxSize
{
NSDictionary *attrs = @{NSFontAttributeName : font};
return [text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attrs context:nil].size;
}
运用:
CGSize contentSize = [self sizeWithText:content font:[UIFont systemFontOfSize:12] maxSize:CGSizeMake(MAXFLOAT, MAXFLOAT)];
CGFloat contentW =contentSize.width;
CGFloat contentH =contentSize.height;
一般需要计算文字的Size时,是在手机上固定宽度的屏幕上显示文字,比如qq说说,这个时候就要计算文字的高度来计算整条说说的高度了,但是要注意的是,如果要让UILable在固定宽度显示多行时,需要设置一个属性:
UILabel *textv = [[UILabel alloc]init];
textv.numberOfLines = 0;//如果不设置此属性为0,则永远只显示一行文字