У меня есть UITextView, в котором я пытаюсь отобразить некоторый атрибутированный текст в виде HTML. Он использует такие вещи, как встроенное выделение жирным шрифтом и курсивом. Теперь клиент хочет, чтобы шрифт на этом изменился. Однако всякий раз, когда я меняю шрифт, кажется, что он игнорирует форматирование HTML. Есть ли способ изменить шрифт, сохранив при этом другие атрибуты форматирования, например выделение жирным шрифтом или курсивом?
iOS 7 использует строку HTML в качестве NSAttributedString и устанавливает шрифт?
Ответы (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