UILabel快速设置行间距

很久之前在上看见过一篇类似的文章,收藏过,但是时间久了,找不到了,于是自己记一下,避免要用的时候又找不到了。

一般都是这么写的

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 50, 300, 0)];

label.backgroundColor = [UIColor clearColor];

label.numberOfLines = 0;

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

NSMutableParagraphStyle * paragraphStyle =[[NSMutableParagraphStyle alloc]init];

//设置行距

[paragraphStyle setLineSpacing:15.0f];

[text addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, string.length)];

//设置一定Range区间文字颜色

[text addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(0, 30)];

//设置一定Range区间文字下划线

[text addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:NSMakeRange(0, 30)];

label.attributedText = text;

[self.view addSubview:label];

[label sizeToFit];

简单写法

[label setValue:@17 forKey:@"lineSpacing"];

注意使用的是KVC方式,其key为lineSpacing,目前在iOS 14中使用还有效。

你可能感兴趣的:(UILabel快速设置行间距)