zoukankan      html  css  js  c++  java
  • 在固定宽度 下计算出实际的行高

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

    - (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;//返回 计算出得行高

        }

    }

  • 相关阅读:
    在Spring Bean的生命周期中各方法的执行顺序
    java面试宝典
    js代码中实现页面跳转的几种方式
    APP测试学习:系统资源分析
    APP测试学习:webview性能分析
    APP测试学习:app启动性能分析
    App测试学习:自动遍历测试
    性能测试学习:jmeter通过代理录制、回放请求
    Docker学习五:如何搭建私有仓库
    Docker学习四:容器基本操作
  • 原文地址:https://www.cnblogs.com/OIMM/p/5095081.html
Copyright © 2011-2022 走看看