I'm using ContextLabel to parse @ , # and URL's. This is the best solution i found, cause it sizes correctly and dont affect performance. It firstly parses string at input and than converts it to NSAttributedString
and after this assigns it to attributedText
property of UILabel
. Everything works as expected, except tail truncation - it's very incorrect ( see pic below )
Where shall i start digging - is it wrong attributes on attributed string? Or label layout issue? Thanks!
I had this problem and fixed it by adding a NSParagraphStyle
specifying the desired line break mode:
//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)
See Word wrap for NSMutableAttributedString for further reference.