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];
效果如下:
那么怎么改变文字的行间距呢?
下面示例是使用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;
效果如下: