Выровненный по ширине текст с UITextView и NSMutableAttributedString

Я пытаюсь поставить выровненный текст для UITextView с помощью NSMutableAttributedString, NSMutableAttributedString состоит из разных NSAttributedString, потому что мне нужен полужирный и обычный шрифт, поэтому я добавляю разные NSString, это мой NSMutableAttributedString:

NSAttributedString *one = [[NSAttributedString alloc] initWithString:@"abc" 
                                                          attributes:boldDict];
NSAttributedString *two = [[NSAttributedString alloc] initWithString:@" def" 
                                                          attributes:regularDict];
NSAttributedString *three = [[NSAttributedString alloc] initWithString:@" ghi" 
                                                            attributes:boldDict];

NSMutableAttributedString *string = 
 [[NSMutableAttributedString alloc] initWithAttributedString:one];
[string appendAttributedString:two];
[string appendAttributedString:three];

Я пробовал это:

[self.text_view setTextAlignment:NSTextAlignmentJustified]

и это:

NSMutableParagraphStyle *paragraphStyles = [[NSMutableParagraphStyle alloc] init];
paragraphStyles.alignment = NSTextAlignmentJustified; 
Dictionary *attributes = @{NSParagraphStyleAttributeName: paragraphStyles};

и примените это к NSMutableAttributedString, но ни один из них не работает. как я могу сделать?


person Piero    schedule 02.05.2014    source источник


Ответы (1)


Я исправил ту же проблему, указав прозрачный цвет фона для NSAttributedString.

Похоже на ошибку в коде UILabel, который должен отображать простую NSAttributedString, такую ​​как NSString.

Пример Xamarin.iOS:

var paragraphStyle = new NSMutableParagraphStyle();
paragraphStyle.Alignment = UITextAlignment.Justified;
var attributedText = new NSAttributedString(simpleString,
                         paragraphStyle: paragraphStyle,
                         backgroundColor: Color.Transparent.ToUIColor());
myLabel.AttributedText = attributedText;
person VoidLess    schedule 03.05.2015