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

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


person s73v3r    schedule 23.01.2014    source источник


Ответы (2)


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

person s73v3r    schedule 24.01.2014

Для подхода Objective-C я использовал 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)];
person jperl    schedule 04.08.2015