将简单 HTML 解析为 NSAttributedString 后设置字体大小不起作用

Setting font size doesn't work after parsing simple HTML into NSAttributedString

我想将简单的 HTML 标记解析为 NSAttributedString,以便我可以在 UITextView 上显示格式化文本。我发现 this and that post 应该很容易转换。这就是我用过的:

public static NSAttributedString GetAttributedStringFromHtml(string html)
{
    NSError error = null;
    NSAttributedString attributedString = new NSAttributedString (NSData.FromString(html), 
        new NSAttributedStringDocumentAttributes{ DocumentType = NSDocumentType.HTML, StringEncoding = NSStringEncoding.UTF8 }, 
        ref error);
    return attributedString;
}

到目前为止一切正常,但现在我想更改字体大小,因为默认字体非常小。

string content = "<strong>I'm strong.</strong><br/>http://www.google.com";

UITextView textView = new UITextView ();
textView.Editable = false;
textView.Font = UIFont.SystemFontOfSize (25);
textView.Text = content;
textView.AttributedText = GetAttributedStringFromHtml (content);
textView.DataDetectorTypes = UIDataDetectorType.Link;
textView.Selectable = true;

上面的代码确实正确解析了它,但字体大小没有改变。我尝试使用 NSMutableAttributedString,但它似乎没有像 NSAttributedString 那样使用 NSData 作为解析参数。也许可以选择组合多个 NSAttributedString,但我不知道如何组合。另一种选择是像这个例子一样投射:

NSMutableAttributedString attributedString = (NSMutableAttributedString) GetAttributedStringFromHtml (content);
attributedString.AddAttribute (UIStringAttributeKey.Font, UIFont.SystemFontOfSize (25), new NSRange (0, content.Length));
textView.AttributedText = attributedString;

但我得到 System.InvalidCastException.

如何更改 UITextView 的字体大小,即使我使用 HTML 解析?

编辑:

现在我尝试创建我的 NSMutableAttributedString:

NSAttributedString parsedString = GetAttributedStringFromHtml (content);
NSMutableAttributedString attributedString = new NSMutableAttributedString (parsedString);
attributedString.AddAttribute (UIStringAttributeKey.Font, UIFont.SystemFontOfSize (17), new NSRange (0, attributedString.Length));
textView.AttributedText = attributedString;

这确实编译,字体更大,并且 HTML 也被解析,但它忽略了 <strong> 例如。文本不是粗体,它应该是粗体。好像第二个属性覆盖了第一个...

我尝试了一些方法,但 none 成功了。所以我已经在解析 HTML 为什么不使用内联 CSS 语法?

<p style='font-size:17px'><strong>I'm bold.</strong><br/>http://www.google.com</p>