在UILabel中NSAttributedString尾部截断

我使用ContextLabel来parsing@,#和URL的。 这是我find的最好的解决scheme,使其大小正确,不影响性能。 它首先在input处parsingstring并将其转换为NSAttributedString ,然后将其分配给UILabel attributedText NSAttributedString attributedText 。 一切都按预期工作,除了截尾 – 这是非常不正确的(见下图)

在这里输入图像说明

我应该从哪里开始挖掘 – 属性string是否属于错误的属性? 或标签布局问题? 谢谢!

我有这个问题,并通过添加指定所需的换行符模式的NSParagraphStyle来修复它:

  //assuming myString is an NSMutableAttributedString let paragraphStyle = NSMutableParagraphStyle() paragraphStyle.lineBreakMode = .byTruncatingTail let range = NSRange(location: 0, length: myString.mutableString.length) myString.addAttribute(NSParagraphStyleAttributeName, value: paragraphStyle, range: range) 

请参阅自动换行NSMutableAttributedString以供进一步参考。