天天看点

iOS 设置UILabel内容行间距

设置UILabel内容行间距

最近在做项目时需要调整UILabel  text的行间距,而使用NSMutableAttributedString可以满足我们的需求

UILabel *label = [[UILabel alloc] init];
    label.font = Font(13);
    label.numberOfLines = 0;
    label.backgroundColor = [UIColor whiteColor];
    label.textColor = LITTLE_TEXT_COLOR;
    NSString *contentStr = @"积分说明\n \n1、每日签到即可获取对应的积分;每日仅可签到一次;每月1日签到重新开启,签到清空。\n2、连续签到7天可额外获得50积分;连续签到14天可额外获得100积分;连续签到21天可额外获得150积分,连续签到28天可额外获得200积分;中断则重新计算.\n3、购物满1元即可积1分,例如购物128.8元可积分128分;\n4、购物、签到所得积分可用于购物时抵现(100分=1元),每笔订单最高可抵现20%;积分也可用于积分商城直接兑换商品;\n5、新用户需下单完成交易后方可使用积分兑换商品;\n6、活动如有用户违规行为(刷单、重复购买、无效手机号参与等),我们有权将该账号积分数据清零或清除该账号,并有权拒绝该用户使用积分兑换商品或抵现购物。";
    
    NSMutableAttributedString *attContentStr = [[NSMutableAttributedString alloc] initWithString:contentStr];
    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
    [paragraphStyle setLineSpacing:5];
    [attContentStr addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [contentStr length])];
    label.attributedText = attContentStr;
    [label sizeToFit];
    
    [scrollView addSubview:label];
    [label mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(scrollView.mas_top).offset(15);
        make.left.equalTo(scrollView.mas_left).offset(15);
        make.width.mas_offset(SCREEN_WIDTH - 30);
        
    }];