iOS UIlabel设置了attributedText后设置label没有省略号

iOS UIlabel设置了attributedText后设置label没有省略号

前言

今天在做给label设置富文本属性后,发现原来设置的lineBreakMode属性没有了,也就是label的分割属性,我设置的超出部分已省略号代替
F6F09DAB-AAF1-4598-A648-F3F9867FA973
8B4864DC-0823-49A2-8DCB-4712242AC4D2

富文本属性设置如下:

//可变的属性文本
NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc]initWithString:self.name_lbl.text];
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];

paragraphStyle.lineSpacing = 5;  //行自定义行高度

[attributedText addAttribute: NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [self.name_lbl.text length])];
self.name_lbl.attributedText = attributedText;  

运行后发先设置的NSLineBreakByTruncatingTail没有出现,于是我上网搜索了一下,找到原来我们设置label的时候也会自动设置lineBreakMode,但设置attributedText后,lineBreakMode就会失效,直接切断显示的内容。所以我们只需要在设置完富文本属性后在在设置一下lineBreakMode属性就可以了,代码如下:

self.name_lbl.attributedText = attributedText;
self.name_lbl.lineBreakMode = NSLineBreakByTruncatingTail;
-------------本文结束感谢您的阅读-------------