本篇文章介绍如何用NSMutableParagraphStyle的属性给UITextView和UILabel设置行间距。以UIlabel为例(UITextView一样):
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 200, 400)];
label.backgroundColor = [UIColor greenColor];
label.text = @"设置label行间距1设置label行间距2设置label行间距3设置label行间距4设置label行间距5设置label行间距6设置label行间距7设置label行间距8设置label行间距9设置label行间距10设置label行间距11设置label行间距12";
label.numberOfLines = 0;
[self.view addSubview:label];
NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init];
//行间距30
paragraph.lineSpacing = 30;
//字体18
NSDictionary * attributes = @{NSFontAttributeName:[UIFont systemFontOfSize:18],NSParagraphStyleAttributeName:paragraph};
label.attributedText = [[NSMutableAttributedString alloc] initWithString:label.text attributes:attributes];
效果图如下:
另外注意一点若label的内容只有一行时,就会发现一行的内容也会带上行间距。解决办法是设置字体为中文字体。