上代码
NSString *string = @"我在时光里莅住,期待在每一个风轻云淡的日子里,可以写出锦瑟生香的暖字。依着阳光安暖,悄然长成一朵潋滟的花。\n等春天的情话落在时光的蒹葭,你眼中那寂静的妥帖,便是我在花间筑下的梦。";
NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:string];
// 文字颜色
[attrString addAttribute:NSForegroundColorAttributeName
value:[UIColor redColor]
range:NSMakeRange(0, 1)];
// 字体大小
[attrString addAttribute:NSFontAttributeName
value:[UIFont systemFontOfSize:24.f]
range:NSMakeRange(0, 2)];
// 字符间距
[attrString addAttribute:NSKernAttributeName
value:@2.f
range:NSMakeRange(0, attrString.length)];
// 设置段落样式
NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init];
style.lineSpacing = 10.f; // 行间距
style.paragraphSpacing = 20.f; // 段间距
style.firstLineHeadIndent = 20.f; // 首行缩进
[attrString addAttribute:NSParagraphStyleAttributeName
value:style
range:NSMakeRange(0, attrString.length)];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, 320, 240)];
label.numberOfLines = 0;
label.attributedText = attrString;
[self.view addSubview:label];
运行
参考资料:
iOS UILabel设置行间距和字间距并计算高度
UILabel - 自定义行间距,字间距及段间距[并动态调节高度]
自定义UILabel设置行距和字间距的各种方法,并根据文本计算高度