2015-02-10 43 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