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

        }

    }

  • 相关阅读:
    Failed to load resource: net::ERR_FILE_NOT_FOUND
    gulp安装详解
    npm install gulp-cli -g时npm ERR! code ECONNREFUSED
    webpack4.43
    修改cmd默认路径
    delphi设置鼠标图形
    Linux常用命令学习
    IO模型介绍 以及同步异步阻塞非阻塞的区别
    TCP的三次握手与四次挥手过程,各个状态名称与含义
    常见的设计模式详解:单例模式、工厂模式、观察者模式
  • 原文地址:https://www.cnblogs.com/OIMM/p/5095081.html
Copyright © 2011-2022 走看看