zoukankan      html  css  js  c++  java
  • 根据label字数计算UILable高度

    //boundingRectWithSize 的使用, 根据label字数计算UILable高度, 包含Emoji及多属性string

    • (NSInteger)heightForChangeableLabel:(NSString *)text labelWidth:(NSInteger)labelWidth font:(UIFont *)font{
      // [answerStr boundingRectWithSize:CGSizeMake(230, 0) options:NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesFontLeading|NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:13]} context:nil]

      NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:text];

      NSRange allRange = [text rangeOfString:text];
      [attrStr addAttribute:NSFontAttributeName
      value:font
      range:allRange];
      [attrStr addAttribute:NSForegroundColorAttributeName
      value:[UIColor blackColor]
      range:allRange];

    // NSRange destRange = [text rangeOfString:text];
    // [attrStr addAttribute:NSForegroundColorAttributeName
    // value:HEXCOLOR(0x009cdd)
    // range:destRange];

    NSStringDrawingOptions options =  NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading;
    
    CGRect rect = [attrStr boundingRectWithSize:CGSizeMake(labelWidth, CGFLOAT_MAX) options:options context:nil];
    
    return rect.size.height+2;  //加两个像素,防止emoji被切掉.
    

    }

  • 相关阅读:
    Information retrieval (IR class2)
    HTML随笔
    Evaluating Automatically Generated timelines from the Web (paper1)
    Kali 2020.1版本安装
    SystemTap
    Linux之IDIDID
    调试&内核探针
    Return-to-dl-resolve
    转载!
    一张图系列之函数重定位
  • 原文地址:https://www.cnblogs.com/xilanglang/p/5334752.html
Copyright © 2011-2022 走看看