iOS中怎樣調節一段文字行間距

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
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容