如何让 DTCoreText 使用系统字体?

How do I make DTCoreText use the System Font?

我想在我的应用程序中使用 DTCoreText 将 HTML 转换为 NSAttributedString,但我不知道如何使用系统字体(截至 iOS 8: Helvetica Neue) 作为基本字体。默认情况下,DTCoreText 似乎使用 Times New Roman 字体创建 NSAttributedString。

我真的不想硬编码。如果 Apple 再次更新他们的字体(他们之前将其从 Helvetica 更新为 Helvetica Neue),我不想替换它的所有实例,或者有一堆条件取决于 OS 版本 运行代码。

我试过了:

NSDictionary *options = @{
   DTUseiOS6Attributes: @(YES),
   DTDefaultFontFamily: [UIFont systemFontOfSize:[UIFont systemFontSize]].fontName
};

但它仍然呈现为 Times New Roman。

如何让它使用系统字体?我只是想让它看起来正常。

看起来 DCCoreText 需要接收字体系列名称,而您提供的字体名称不同。尝试用

替换您的代码
[UIFont systemFontOfSize:[UIFont systemFontSize]].familyName