UIlabel 中利用NSParagraphStyle设置行距,只有一行中文的时候底下会留空白问题处理

UIlabel 中利用NSParagraphStyle设置行距,只有一行中文的时候底下会留空白;

 NSString *contentStr=@"试试看";
 NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:contentStr];
 NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
 paragraphStyle.lineBreakMode = NSLineBreakByTruncatingTail;
 [paragraphStyle setLineSpacing:5];
 [_contentLabel setAttributedText:attributedString];

得到效果:

只有一行中文的时候底下会留空白(其实是lineSpacing高度),当字数大于两行时候底下又没有空白。

解决办法:

设置NSBaselineOffsetAttributeName为0;

[attributedString addAttribute:NSBaselineOffsetAttributeName value:@(0) range:NSMakeRange(0, [contentStr length])];

 

0

这篇文章有1条评论

  1. hugh 2019/5/17 #1 [REPLY]

    你好,我想问一下你之前https://github.com/gugupluto/BDChinaMap 这里的这个demo为什么是空白的吗?怎么样才能联系到你吗?我的qq834244439

发表评论