zoukankan      html  css  js  c++  java
  • UILabel 调整行间距

    /*
     调整行间距
     */
    + (void)adjustLineSpacingOfLabel:(UILabel *)label to:(CGFloat)lineSpacing
    {
        NSString *textStr = label.text;
        if (textStr.length <= 0) {
            return;
        }
        
        NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:textStr];
        NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
        [paragraphStyle setLineSpacing:lineSpacing];
        [paragraphStyle setLineBreakMode:NSLineBreakByTruncatingTail];
        [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [textStr length])];
        label.attributedText = attributedString;
        [label sizeToFit];
    }
    
    + (CGSize)sizeOfMultiLineLabel:(NSString *)aLabelTextString font:(UIFont *)aLabelFont constrainedToSize:(CGSize)maxSize lineSpacing:(CGFloat)lineSpacing
    {
        if ([[[UIDevice currentDevice] systemVersion] floatValue] < 7.0) {
            //version < 7.0
            return [aLabelTextString sizeWithFont:aLabelFont
                                constrainedToSize:maxSize
                                    lineBreakMode:NSLineBreakByTruncatingTail];
        }
        else if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
            //version >= 7.0
            //Return the calculated size of the Label
            NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
            [paragraphStyle setLineSpacing:lineSpacing];
            [paragraphStyle setLineBreakMode:NSLineBreakByWordWrapping];
            
            return [aLabelTextString boundingRectWithSize:maxSize
                                                  options:NSStringDrawingUsesLineFragmentOrigin
                                               attributes:@{NSFontAttributeName:aLabelFont, NSParagraphStyleAttributeName:paragraphStyle}
                                                  context:nil].size;
        }
        return CGSizeZero;
    }


  • 相关阅读:
    API创建员工联系人
    API创建员工Element
    API创建员工
    API创建员工支付方式
    用API创建用户
    用API给用户添加职责
    创建银行API
    创建银行分行的API
    初探C++ 深拷贝与浅拷贝
    推断数据是否为整数
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7293794.html
Copyright © 2011-2022 走看看