您的位置:首页 > 移动开发 > IOS开发

iOS动态计算Label的宽高

2016-01-12 11:45 441 查看
1.根据文字计算Label的宽度



1 +(CGFloat)widthOfString:(NSString *)string font:(UIFont *)font height:(CGFloat)height
2 {
3     NSDictionary * dict=[NSDictionary dictionaryWithObject: font forKey:NSFontAttributeName];
4     CGRect rect=[string boundingRectWithSize:CGSizeMake(CGFLOAT_MAX, height) options:NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesFontLeading|NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil];
5     return rect.size.width;
6 }


2.根据文字计算Label的高度

2.1方法一:sizeThatFits

例如:CGSize size = [toolLabel sizeThatFits:CGSizeMake([UIScreen mainScreen].bounds.size.width, MAXFLOAT)];

得到的size.height就是Label的高度

2.2方法二:



+(CGFloat)heightOfString:(NSString *)string font:(UIFont *)font width:(CGFloat)width
{
CGRect bounds;
NSDictionary * parameterDict=[NSDictionary dictionaryWithObject:font forKey:NSFontAttributeName];
bounds=[string boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX) options:NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesFontLeading|NSStringDrawingUsesLineFragmentOrigin attributes:parameterDict context:nil];
return bounds.size.height;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: