NSTextAlignmentJustified не работает в iOS7
У меня есть приложение, которое использует NSTextAlignmentJustified
для NSAttributedString
. В iOS 6 все работает отлично. Но одно и то же приложение, работающее в iOS 7 (симулятор или устройство не имеет значения) вообще не показывает выравнивание. Похоже, что изменение строки значительно изменилось с iOS 6 до 7.
Кто-нибудь еще столкнулся с этой проблемой? Есть ли способ сделать оправданный текстовый блок в iOS 7 (который также работает в iOS 6?)
С уважением,
Маркус
Ответы
Ответ 1
Хорошо, я нашел способ сделать ярлык Justifiy в iOS 7:
Я просто устанавливаю NSBaselineOffsetAttributeName равным 0.
Не знаю, почему это работает, но оно работает.
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.lineBreakMode = NSLineBreakByWordWrapping;
paragraphStyle.alignment = NSTextAlignmentJustified;
NSAttributedString *string = [[NSAttributedString alloc] initWithString:rawString
attributes:[NSDictionary dictionaryWithObjectsAndKeys:
paragraphStyle, NSParagraphStyleAttributeName ,
[NSNumber numberWithFloat:0],NSBaselineOffsetAttributeName,
nil]];
Ответ 2
Настройка firstLineHeadIndent
на NSMutableParagraphStyle
также будет работать.
NSMutableParagraphStyle *paragraphStyles = [[NSMutableParagraphStyle alloc] init];
paragraphStyles.alignment = NSTextAlignmentJustified; // To justified text
paragraphStyles.firstLineHeadIndent = 0.05; // IMP: must have a value to make it work
NSString *stringTojustify = @"No one wakes up excited to see more advertising, no one goes to sleep thinking about the ads they’ll see tomorrow.";
NSDictionary *attributes = @{NSParagraphStyleAttributeName: paragraphStyles};
NSAttributedString *attributedString = [[NSAttributedString alloc] initWithString:stringTojustify attributes:attributes];
self.lblQuote.attributedText = attributedString;
self.lblQuote.numberOfLines = 0;
[self.lblQuote sizeToFit];
Ответ 3
Только для записи вы также можете добавить "\n" в качестве первого символа для простой UILabel.
self.text = [NSString stringWithFormat:@"\n%@",TextString];
{
CurFrame.origin.y -= FontSize;
self.frame = CurFrame;
}
self.textAlignment = NSTextAlignmentJustified;