2016-03-17 4 views
-2

Я добавил атрибутированную строку на ярлыке. Я показываю html-текст, который отлично работает, но по умолчанию он всегда показывает Times new roman family. Расскажите, как я могу изменить семейство текстов.Как изменить шрифт атрибутной строки в iOS?

NSAttributedString *attributedString = [[NSAttributedString alloc] initWithData:[inst.desc dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil]; 
+0

Самый быстрый способ будет отредактировать 'inst.desc' и добавить его там в формате HTML стиль. Кроме того, вам нужно будет перечислить всю присланную строку для NSFontAttributeName. – Larme

+0

не удалось установить содержимое html в коде ur –

ответ

6

Попробуйте с этим:

NSAttributedString *attributedString = [[NSAttributedString alloc] initWithData:[inst.desc dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil]; 
NSMutableAttributedString *newString = [[NSMutableAttributedString alloc] initWithAttributedString:attributedString]; 
NSRange range = (NSRange){0,[newString length]}; 
[newString enumerateAttribute:NSFontAttributeName inRange:range options:NSAttributedStringEnumerationLongestEffectiveRangeNotRequired usingBlock:^(id value, NSRange range, BOOL *stop) { 
    UIFont *replacementFont = [UIFont fontWithName:@"Palatino-Roman" size:14.0]; 
    [newString addAttribute:NSFontAttributeName value:replacementFont range:range]; 
}]; 
self.label.attributedText = newString; 
+0

мой текст html –

+0

Да, вы должны добавить это после выделения атрибутной строки. Проверьте мой отредактированный ответ – lorenzoliveto

+0

UIFont * font = [UIFont fontWithName: @ "Palatino-Roman" size: 14.0]; мой шрифт - проблема с шрифтом –

3

вы можете сделать так:

NSDictionary *attrDict = @{ 
    NSFontAttributeName : [UIFont fontWithName:Arial size:16.0], 
    NSForegroundColorAttributeName : [UIColor redColor] 
}; 
NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:@"string" attributes:attrDict]; 
+0

где html-формат –

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