iOS 设置UILabel的行间距并自适应高度

时间:2021-08-12 06:09:32
NSString *contentStr = @"总以为,在最初的地方,有一个最原来的我,就也会有一个最原来的你";
    
    UILabel *tempLabel = [[UILabel alloc] init];
    //设置背景颜色
    tempLabel.backgroundColor = [UIColor redColor];
    //设置内容
    tempLabel.text = contentStr;
    //设置字体颜色
    tempLabel.textColor = [UIColor whiteColor];
    //设置字体大小
    tempLabel.font = [UIFont systemFontOfSize:15.0];
    //设置文本是否多行显示
    tempLabel.numberOfLines = 0;
    tempLabel.lineBreakMode = NSLineBreakByWordWrapping;
    //设置UILabel根据文字自适应高度
    CGSize size = [tempLabel sizeThatFits:CGSizeMake(100, MAXFLOAT)];
    //设置frame
    tempLabel.frame = CGRectMake(50, 100, 100, size.height);
    [self.view addSubview:tempLabel];
    //设置label的行间距
    NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:contentStr];
    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
    [paragraphStyle setLineSpacing:8];
    [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [contentStr length])];
    [tempLabel setAttributedText:attributedString];
    [tempLabel sizeToFit];