在iOS 9中为UILabel的文本对齐

时间:2015-11-02 10:18:01

标签: objective-c uilabel ios9 justify

我找到了解决方案,通过属性字符串来证明UILabel中用于iOS 8.4版本的文本:将标签字符串设置为属性并修改连字符值,如下所示。 enter image description here

此解决方案在iOS 9上停止工作(文本显示左对齐)。我需要其他工作解决方案,它支持iOS 7或至少在iOS 9上工作(会在某处添加'if')

1 个答案:

答案 0 :(得分:-1)

更新

似乎向@"locale"的属性添加NSAttributedString密钥可能有所帮助。请参阅here

原始答案:

您可以随时使用NSAttributedString

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.hyphenationFactor = 1;
paragraphStyle.alignment = NSTextAlignmentJustified;

NSDictionary *attributes = @{
    NSFontAttributeName: [UIFont preferredFontForTextStyle:UIFontTextStyleBody],
    NSParagraphStyleAttributeName: paragraphStyle
};

NSString *string = @"your text here";

NSAttributedString *attributedString = [[NSAttributedString alloc] initWithString:string attributes:attributes];

self.label.attributedText = attributedString;
self.label.numberOfLines = 0;