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];

效果如下:

iOS中怎样调节一段文字行间距_第1张图片
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;

效果如下:

iOS中怎样调节一段文字行间距_第2张图片
Paste_Image.png

你可能感兴趣的:(iOS中怎样调节一段文字行间距)