TOP

【原】UILabel 设置了 attributedText 后省略号不显示
2019-09-03 02:44:38 】 浏览:48
Tags:UILabel 设置 attributedText 省略 显示

在开发中,对于一个 UILabel 我们都会设置 lineBreakMode 属性。
我在开发中就遇到个比较有意思的问题,所以就写了这篇博客,与大家共勉!

对于一个 UILabel ,我先设置了 self.titleLbl.lineBreakMode = NSLineBreakByTruncatingTail ,然后设置了 attributedText 内容,就是为了让超出显示范围的内容显示成省略号。

但是现象却是,在内容足够多的的情况下,内容是被直接切掉无法显示的内容,并没有显示省略号,如下图:
bug截图.png

好了,bug来了,各种Google,原来是在设置 attributedText 的时候,之前设置的 lineBreakMode 会失效,所以出现上述的问题。

问题解决办法:
在设置 attributedText 后,在对 lineBreakMode 进行一下设置,这样就会出现想要的结果了。

具体代码如下:

NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:[model.title dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
self.titleLbl.attributedText = attrStr;
self.titleLbl.lineBreakMode = NSLineBreakByTruncatingTail;

【原】UILabel 设置了 attributedText 后省略号不显示 https://www.cppentry.com/bencandy.php?fid=99&id=246618

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇iOS AOP实战 下一篇git找回丢失的代码