• iOS 获取 UILabel 的宽度


     1 /**
     2  *  获取高度
     3  *
     4  *  @param font  目标字体
     5  *  @param width 约束宽度
     6  *
     7  *  @return 目标高度
     8  */
     9 - (CGFloat)ptv_heightWithFont:(UIFont *)font constrainedToWidth:(CGFloat)width {
    10     UIFont *textFont = font ? font : [UIFont systemFontOfSize:[UIFont systemFontSize]];
    11     
    12     CGSize textSize;
    13     
    14 #if __IPHONE_OS_VERSION_MIN_REQUIRED < 70000
    15     if ([self respondsToSelector:@selector(boundingRectWithSize:options:attributes:context:)]) {
    16         NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init];
    17         paragraph.lineBreakMode = NSLineBreakByWordWrapping;
    18         NSDictionary *attributes = @{NSFontAttributeName: textFont,
    19                                      NSParagraphStyleAttributeName: paragraph};
    20         textSize = [self boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX)
    21                                       options:(NSStringDrawingUsesLineFragmentOrigin |
    22                                                NSStringDrawingTruncatesLastVisibleLine)
    23                                    attributes:attributes
    24                                       context:nil].size;
    25     } else {
    26         textSize = [self sizeWithFont:textFont
    27                     constrainedToSize:CGSizeMake(width, CGFLOAT_MAX)
    28                         lineBreakMode:NSLineBreakByWordWrapping];
    29     }
    30 #else
    31     NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init];
    32     paragraph.lineBreakMode = NSLineBreakByWordWrapping;
    33     NSDictionary *attributes = @{NSFontAttributeName: textFont,
    34                                  NSParagraphStyleAttributeName: paragraph};
    35     textSize = [self boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX)
    36                                   options:(NSStringDrawingUsesLineFragmentOrigin |
    37                                            NSStringDrawingTruncatesLastVisibleLine)
    38                                attributes:attributes
    39                                   context:nil].size;
    40 #endif
    41     
    42     return ceil(textSize.height);
    43 }
  • 相关阅读:
    html中嵌入天气预报
    linux简单命令
    正则表达式基本语法
    jquery表单验证
    yaf函数方法及使用
    php函数
    yaf框架的特点
    mysql数据库
    php连数据库
    xml基础知识
  • 原文地址:https://www.cnblogs.com/lz465350/p/9964871.html
Copyright © 2020-2023  润新知