iOS UIlabel设置了attributedText后设置label没有省略号
前言
今天在做给label设置富文本属性后,发现原来设置的lineBreakMode
属性没有了,也就是label的分割属性,我设置的超出部分已省略号代替
富文本属性设置如下:
//可变的属性文本
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;