Word wrap for NSMutableAttributedString

10,419

Solution 1

The lineBreakMode property isn't deprecated in iOS 6. It has simply changed the names of the constants. The old constants are deprecated, but still available. You can use the new constants even if you are deploying to an older iOS, because the constants are just enum values. The old names and the new names have the same values. So, just set yourlabelname.lineBreakMode = NSLineBreakByTruncatingTail.

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
[paragraphStyle setLineBreakMode:NSLineBreakByTruncatingTail];
[attributedStr addAttribute:NSParagraphStyleAttributeName
                     value:paragraphStyle
                     range:NSMakeRange(0,[attributedStr length])];

Solution 2

Following also works irrespective of using attributedText or normal text. Make sure to add the below line after setting the AttributedText and font to the label.

label.lineBreakMode = .byTruncatingTail
Share:
10,419
Lollypop
Author by

Lollypop

Updated on July 20, 2022

Comments

  • Lollypop
    Lollypop almost 2 years

    I have NSMutableAttributedString and the string is pretty long. I would like to do word wrap while displaying it on the UIlabel. If it was NSString, i will go ahead and do something like this, Dynamic UILabel truncating the text But how can i do it with NSAttributedString ? And once it is done, i need to resize the view depending on the label size.

  • strangetimes
    strangetimes over 2 years
    The OP asked for word wrapping, yet the voted reply truncates. Shouldn't this be NSLineBreakByWordWrapping?