在固定宽度 下计算出实际的行高

//根据字符串内容的多少  在固定宽度 下计算出实际的行高

- (CGFloat)HelperTextHeightFromTextString:(NSString *)text (CGFloat)textWidth fontSize:(CGFloat)size

{

    if ([self heperGetCurrentIOS] >= 7.0) {

        //iOS7之后

        /*

         第一个参数: 预设空间 宽度固定  高度预设 一个最大值

         第二个参数: 行间距 如果超出范围是否截断

         第三个参数: 属性字典 可以设置字体大小

         */

//        NSDictionary *dict = @{NSFontAttributeName:[UIFont systemFontOfSize:size]};

//        CGRect rect = [text boundingRectWithSize:CGSizeMake(textWidth, MAXFLOAT) options:NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesFontLeading|NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil];

        NSDictionary *dict=@{NSFontAttributeName: [UIFont systemFontOfSize:size]};

        CGRect rect = [text boundingRectWithSize:CGSizeMake(textWidth, MAXFLOAT) options:NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesFontLeading|NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil];

        

        

        

        //返回计算出的行高

        return rect.size.height;

        

    }else {

        //iOS7之前

        /*

         1.第一个参数  设置的字体固定大小

         2.预设 宽度和高度 宽度是固定的 高度一般写成最大值

         3.换行模式 字符换行

         */

        CGSize textSize = [text sizeWithFont:[UIFont systemFontOfSize:size] constrainedToSize:CGSizeMake(textWidth, MAXFLOAT) lineBreakMode:NSLineBreakByCharWrapping];

        return textSize.height;//返回 计算出得行高

    }

}

原文地址:https://www.cnblogs.com/OIMM/p/5095081.html