Я получаю строку html, которую мне нужно отобразить с помощью UILabel. В случае, если я не добавляю UIFont, я вижу строку, как и ожидалось.
+(NSAttributedString *)getAttributedText:(NSString *)text {
NSAttributedString *attrStr = [[NSAttributedString alloc] initWithData:[text dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
return attrStr;
}
Но шрифт очень мелкий, поэтому мне нужно его изменить.
+(NSAttributedString *)getAttributedText:(NSString *)text {
NSAttributedString *attrStr = [[NSAttributedString alloc] initWithData:[text dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
NSMutableAttributedString *newString = [[NSMutableAttributedString alloc] initWithAttributedString:attrStr];
NSRange range = (NSRange){0,[newString length]};
[newString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"OpenSans" size:14.0] range:range];
return newString;
}
Теперь я вижу текст как
Есть ли другой способ установить шрифт при сохранении атрибутов?
UIFont
, поэтому, когда вы их заменяете, все меняется. Вы можете сами изменить HTMLString или перебратьNSAttributedString
. - person Larme   schedule 18.08.2017