zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    [ python ] 函数的参数
    [ python ] 文件读写操作
    [ python ] 集合的使用
    [ python ] 购物系统
    [ python ] 字符编码
    [ python ] 字典的使用
    [ python ] 列表和元组
    [ python ] 字符串的操作及作业题
    [ python ] 格式化输出、字符集、and/or/not 逻辑判断
    [ python ] 变量及基础的数据类型
  • 原文地址:https://www.cnblogs.com/lz465350/p/9964871.html
Copyright © 2011-2022 走看看