您的位置:首页 > 其它

根据文字内容和设定maxSize计算文字的width、height

2015-09-19 21:45 337 查看
根据文字内容和设定maxSize计算文字的width、height
1.调用的方法

(CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options
attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context

2.方法的解释
2.1第一需要一个size 这个size是规定文字width,height的最大值
CGSize maxSize =
CGSizeMake(200,
MAXFLOAT);
在这段代码中maxSize的宽度规定为200,高度为最大,这样做的原理是系统会根据宽度和文字的大小计算这段文字的高度,然后返回。如果设定的宽度高度小于应有的宽度和高度那么返回的是你设定的宽度高度。



2.2 options
一般设为:NSStringDrawingUsesLineFragmentOrigin,这样结果计算准确。

2.3 attributes
#define font[UIFont systemFontOfSize:17]
NSDictionary *attrs =
@{NSFontAttributeName:font};
2.4 context
设置为nil

3.一般讲这个较长的方法封装便于调用
/**根据文字计算文字的size*/
- (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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: