I am use Xcode4.5 and iOS6 now, the iOS6 have change the UILable\'s textAlignment,
label.textAlignment = NSTextAlignmentJustified;
The cod
Edit 1:
Using NSAttributedString
we can justify text.
NSMutableParagraphStyle *paragraphStyles = [[NSMutableParagraphStyle alloc] init];
paragraphStyles.alignment = NSTextAlignmentJustified;
paragraphStyles.firstLineHeadIndent = 0.05; // Very IMP
NSString *stringTojustify = @"We are what our thoughts have made us; so take care about what you think. Words are secondary. Thoughts live; they travel far.";
NSDictionary *attributes = @{NSParagraphStyleAttributeName: paragraphStyles};
NSAttributedString *attributedString = [[NSAttributedString alloc] initWithString:stringTojustify attributes:attributes];
self.lblQuote.attributedText = attributedString;
self.lblQuote.numberOfLines = 0;
[self.lblQuote sizeToFit];
Deprecation of UITextAlignmentJustify
, not available anymore under iOS 6.
All possible solutions to justified text are given at this SO link also have a look at this page and iOS6 prerelease Documentation.
I kind of found a way to make the label Justifiy in iOS 7: i simply set NSBaselineOffsetAttributeName to 0.
No idea why you need to add this baseline setting on iOS 7, (it works fine on iOS 6).
NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init];
paragraph.alignment = NSTextAlignmentJustified;
NSDictionary *attributes = @{ NSParagraphStyleAttributeName : paragraph,
NSFontAttributeName : self.textLabel.font,
NSBaselineOffsetAttributeName : [NSNumber numberWithFloat:0] };
NSAttributedString *str = [[NSAttributedString alloc] initWithString:content
attributes:attributes];
self.textLabel.attributedText = str;
Hope that helps ;)