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被切掉.
    

    }

  • 相关阅读:
    git
    搁置:vue-element-admin
    JS
    开发心得
    CSS
    VSCode(主进程)
    Vue
    axios
    滚动条出现的原理
    element-ui 1.4.13
  • 原文地址:https://www.cnblogs.com/xilanglang/p/5334752.html
Copyright © 2011-2022 走看看