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中使用还有效。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。