iOS 7 использует строку HTML в качестве NSAttributedString И устанавливает шрифт?

У меня есть UITextView, в котором я пытаюсь отобразить некоторый атрибутивный текст в виде HTML. Он использует такие вещи, как встроенный жирный шрифт и курсив. Теперь клиент хочет, чтобы шрифт на этом изменился. Однако всякий раз, когда я меняю шрифт, он игнорирует любое форматирование HTML. Есть ли способ изменить шрифт, сохранив другие атрибуты форматирования, например выделение курсивом?

2 ответа

Решение

Способ, которым я смог заставить это работать, состоял в том, чтобы предвосхитить мою строку <span style=\"font-family: Avenir; font-size: 12\">%@</span>

Для объективного подхода я использовал NSMutableString а также -setAttributes:

NSString *htmlString = @"..."
NSData *textData = [htmlString dataUsingEncoding:NSUnicodeStringEncoding];
NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc]
      initWithData:textData
           options:@{ NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType }
documentAttributes:nil error:nil];
[attrStr setAttributes:@{NSFontAttributeName : [UIFont fontWithName:@"avenir" size:12.0f]} range:NSMakeRange(0,attrStr.length)];
Другие вопросы по тегам