Word wrap for NSMutableAttributedString

ios, ios5, nsstring, objective-c, xcode

Solution

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])];

Problem

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.

Original source