美文网首页
计算UIlabel高度

计算UIlabel高度

作者: Torin76 | 来源:发表于2018-03-05 19:18 被阅读45次
+(CGFloat)getContentHeight:(NSString*)content WithLabelWidth:(CGFloat)labelWidth LabelFont:(UIFont*)font
{
    
    //参考:http://blog.csdn.net/smilebigdear/article/details/70054561
    NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
    style.lineBreakMode = NSLineBreakByWordWrapping;
    style.alignment = NSTextAlignmentLeft;
    
    NSAttributedString *string = [[NSAttributedString alloc]initWithString:content attributes:@{NSFontAttributeName:font, NSParagraphStyleAttributeName:style}];
    
    CGSize size =  [string boundingRectWithSize:CGSizeMake(labelWidth, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading context:nil].size;
    NSLog(@" size =  %@", NSStringFromCGSize(size));
    // 并不是高度计算不对,我估计是计算出来的数据是 小数,在应用到布局的时候稍微差一点点就不能保证按照计算时那样排列,所以为了确保布局按照我们计算的数据来,就在原来计算的基础上 取ceil值,再加1;
    CGFloat height = ceil(size.height) + 1;
    return height;

}

相关文章

网友评论

      本文标题:计算UIlabel高度

      本文链接:https://www.haomeiwen.com/subject/ertkfftx.html