Ios UILabel中NSAttributedString尾部截断
我用它来解析@、#和URL。这是我找到的最好的解决方案,因为它大小正确,不会影响性能。它首先在输入端解析字符串,然后将其转换为Ios UILabel中NSAttributedString尾部截断,ios,swift,uilabel,nsattributedstring,hashtag,Ios,Swift,Uilabel,Nsattributedstring,Hashtag,我用它来解析@、#和URL。这是我找到的最好的解决方案,因为它大小正确,不会影响性能。它首先在输入端解析字符串,然后将其转换为NSAttributedString,然后将其分配给UILabel的attributedText属性。除尾部截断外,所有操作都按预期进行-这是非常不正确的(见下图) 我应该从哪里开始挖掘-属性字符串上的属性是否错误?还是标签布局问题?谢谢 我遇到了这个问题,并通过添加指定所需换行模式的NSParagraphStyle来修复它: //assuming myStri
NSAttributedString
,然后将其分配给UILabel
的attributedText
属性。除尾部截断外,所有操作都按预期进行-这是非常不正确的(见下图)
我应该从哪里开始挖掘-属性字符串上的属性是否错误?还是标签布局问题?谢谢 我遇到了这个问题,并通过添加指定所需换行模式的
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)
请参阅以获取更多参考。以下内容也适用于使用AttributedText或普通文本。
确保在标签设置AttributedText和font后添加下一行:
label.lineBreakMode = .byTruncatingTail
你是在硬编码标签的宽度吗?