ios - 如何让 DTCoreText 使用系统字体?

标签 ios objective-c uikit nsattributedstring dtcoretext

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

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

我尝试过:

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

但它仍然呈现为 Times New Roman。

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

最佳答案

看起来 DCCoreText 期望接收字体系列名称,而您提供的字体名称不同。尝试将您的代码替换为

[UIFont systemFontOfSize:[UIFont systemFontSize]].familyName

关于ios - 如何让 DTCoreText 使用系统字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28422990/

相关文章:

ios - 如何以编程方式(iOS)创建Firebase动态链接?

objective-c - 监控传入字节 OS X

objective-c - 从横向模式启动时,iAd 不适合宽度

iOS 混合 Spritekit 和 UIKit

swift - 以编程方式添加 UIImage 时,实例成员不能在类型上使用

ios - 从 cloudkit swift 获取不同的值

ios - 自动布局降低某些 View 的高度

ios - 尝试呈现已经呈现

ios - Pod 版本控制深度

ios - Facebook 被拒绝 - iOS 模拟器构建配置不正确