UILabelを使用して表示する必要があるhtml文字列を受け取りました。その場合、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を使って反復することができます。 – Larme
私の答えを確認してください –