2015-02-10 64 views
2

我想在我的应用程序中使用DTCoreText将HTML转换为NSAttributedString,但我无法弄清楚如何使用系统字体(iOS 8以上:Helvetica Neue)作为基本字体。默认情况下,DTCoreText似乎用Times New Roman字体创建NSAttributedString。如何让DTCoreText使用系统字体?

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

我想:

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

但它仍然呈现为宋体。

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

+0

你试过用'fontFamily'替换'fontName'吗? DCCoreText似乎期待字体系列,并且您正在提供字体名称。 – sha 2015-02-10 02:26:33

+0

@sha你的意思是相反的吗?我正在提供fontFamily。 – 2015-02-10 02:27:11

+0

That':'[UIFont systemFontOfSize:[UIFont systemFontSize]]。fontName' - 在末尾替换fontName – sha 2015-02-10 02:27:33

回答

2

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

[UIFont systemFontOfSize:[UIFont systemFontSize]].familyName