1.調節段落文字的行間距
首先,展示一個Label中正常顯示一段文字的示例:
NSString *showText = @"我不是詩人,所以,只能夠把愛你寫進程序,\n當作不可解的密碼,作為我一個人知道的秘密。\n我以為你是我的唯一,過了很久才發現,你不是我獨占的服務器,\n我可以傳遞,卻什么都不能夠取回,大師說,此算法不可逆。\n我想析構我自己,卻沒有多少勇氣,只能夠注釋掉關于你的記憶,\n想尋找你的信息,突然發現,你已經不在我的域。\n我想重載愛的定義,把你我封裝在一起,\n在我的名字空間里,再也找不到你。\n愛情的管道,已經關閉,\n我有的,只剩下從愛繼承的頹廢。\n愛的模板,已經解不開我們的僵局,\n我已經成為異常的容器,無法容下與你無關的東西。\n我以為我們該是一個聯合體,原來只是松散的內聚,\n直到分開很久,你才返回操作失敗的信息。\n你告訴我,我只是你的友元類\n獨自一個人難醉,我慢慢明白,我們不是來自相同的基類。\n你很久前拋出的異常,我笨得不能夠體會,\n你說我不是你的適配器,你不需要一個通用程序。\n我是你堆棧的頂部,你要彈出我選擇原來的奇遇。\n多希望可以寫出一個函數,拷貝從前的你。\n可是等了很久,還是沒有奇跡,\n只能夠繼續開一個心的端口,監聽你的信息。\n我的悲傷與快樂,都裝進黑盒里,\n不需要讓你知道,我仍然愛你。";
UILabel *labelContent = [[UILabel alloc]initWithFrame:CGRectMake(14, 64, CGRectGetWidth(self.view.frame) - 28, CGRectGetHeight(self.view.frame) - 64 - 49)];
[self.view addSubview:labelContent];
labelContent.numberOfLines = 0;
[labelContent setTextColor:[UIColor blackColor]];
[labelContent setFont:[UIFont systemFontOfSize:15]];
[labelContent.layer setBorderWidth:1.0];
[labelContent.layer setBorderColor:[UIColor redColor].CGColor];
[labelContent setText:showText];
效果如下:
Paste_Image.png
那么怎么改變文字的行間距呢?
下面示例是使用NSAttributeString,將文字的行間距設置為12point。
NSString *showText = @"我不是詩人,所以,只能夠把愛你寫進程序,\n當作不可解的密碼,作為我一個人知道的秘密。\n我以為你是我的唯一,過了很久才發現,你不是我獨占的服務器,\n我可以傳遞,卻什么都不能夠取回,大師說,此算法不可逆。\n我想析構我自己,卻沒有多少勇氣,只能夠注釋掉關于你的記憶,\n想尋找你的信息,突然發現,你已經不在我的域。\n我想重載愛的定義,把你我封裝在一起,\n在我的名字空間里,再也找不到你。\n愛情的管道,已經關閉,\n我有的,只剩下從愛繼承的頹廢。\n愛的模板,已經解不開我們的僵局,\n我已經成為異常的容器,無法容下與你無關的東西。\n我以為我們該是一個聯合體,原來只是松散的內聚,\n直到分開很久,你才返回操作失敗的信息。\n你告訴我,我只是你的友元類\n獨自一個人難醉,我慢慢明白,我們不是來自相同的基類。\n你很久前拋出的異常,我笨得不能夠體會,\n你說我不是你的適配器,你不需要一個通用程序。\n我是你堆棧的頂部,你要彈出我選擇原來的奇遇。\n多希望可以寫出一個函數,拷貝從前的你。\n可是等了很久,還是沒有奇跡,\n只能夠繼續開一個心的端口,監聽你的信息。\n我的悲傷與快樂,都裝進黑盒里,\n不需要讓你知道,我仍然愛你。";
UILabel *labelContent = [[UILabel alloc]initWithFrame:CGRectMake(14, 64, CGRectGetWidth(self.view.frame) - 28, CGRectGetHeight(self.view.frame) - 64 - 49)];
[self.view addSubview:labelContent];
labelContent.numberOfLines = 0;
[labelContent setTextColor:[UIColor blackColor]];
[labelContent setFont:[UIFont systemFontOfSize:15]];
[labelContent.layer setBorderWidth:1.0];
[labelContent.layer setBorderColor:[UIColor redColor].CGColor];
// [labelContent setText:showText];
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:showText];
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
[paragraphStyle setLineSpacing:12];
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [showText length])];
labelContent.attributedText = attributedString;
效果如下:
Paste_Image.png