2016-03-24 3 views
2

Я пытаюсь изменить размер шрифта текста с помощью NSAttributedString. Но размер не меняется.Цель c UIFont systemFontOfSize не работает

NSDictionary *attrDict = @{NSFontAttributeName : [UIFont boldSystemFontOfSize:22], NSForegroundColorAttributeName : [UIColor orangeColor]}; 

NSAttributedString *newAttString = [[NSAttributedString alloc] initWithString:mytext attributes:attrDict]; 

[result appendAttributedString:newAttString]; 

Только цвет текста меняется. Размер строки результата не равен 22, а также не выделен жирным шрифтом.

+0

Если ваш журнал имеет значение 'newAttString', это кажется правильным? Один из «результатов» после добавления «newString» тоже? Ваша проблема может быть позже. – Larme

+0

Строка правильная. Ошибок нет. Но размер шрифта не меняется. – user

+0

Что вы делаете после 'результата'? Вы снова применяете 'NSFontAttributeName'? – Larme

ответ

0

Вместо применения атрибутов с Alloc, первонач, попробуйте сделать это после того, как что-то вроде (с изменяемые NSAttributedString):

NSMutableAttributedString *newAtt = [[NSMutableAttributedString alloc] initWithString:mytext]; // Allocate a new NSMutableAttributedString with `mytext` 
[newAtt addAttributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:20], 
             NSForegroundColorAttributeName: [UIColor orangeColor]} 
           range:NSMakeRange(0, [result length])]; // add new attributes for the length of the string `mytext` 

[result setAttributedText:newAtt]; 

Этот ответ будет варьироваться в зависимости от того, что result это, я проверил он на UITextView, и он работал нормально, есть также attributedText Недвижимость на UILabels. Надеюсь, это поможет.

0

Вы не упомянули, что означает result в конце вашего кода. Вы уверены, что хотите «добавить» его?

Кроме того, я использую этот код для установки шрифтов

[UIFont fontWithName:@"Arial-BoldMT" size:22.0f] 

Это может быть использовано для установки различных шрифтов и размеров соответственно.

Надеюсь, что это поможет :)

Смежные вопросы