【问题标题】:How do I make DTCoreText use the System Font?如何让 DTCoreText 使用系统字体?
【发布时间】:2015-02-10 02:18:04
【问题描述】:

我想在我的应用程序中使用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。

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

【问题讨论】:

  • 您是否尝试将fontName 替换为fontFamily? DCCoreText 似乎期待字体系列,您正在提供字体名称。
  • @sha 你的意思是相反的吗?我正在提供 fontFamily。
  • 那个:[UIFont systemFontOfSize:[UIFont systemFontSize]].fontName - 最后替换 fontName
  • 我不认为 fontFamily 是 UIFont 的属性。
  • 完成。作为答案发布

标签: ios objective-c uikit nsattributedstring dtcoretext


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-12-16
    • 1970-01-01
    • 2018-07-30
    • 2014-10-06
    • 1970-01-01
    • 2018-07-28
    • 2013-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多