2013-04-08 35 views
3

我有自定義字體的問題。即它的繁體岑MT.ttfUIFont自定義字體不顯示在設備上

這是同樣的問題在這裏: Custom font not showing on device, but does on simulator

除了給定的解決方案並不爲我工作。

我已經做正是你應該做的:

  1. 添加字體到Info.plist中
  2. 添加字體複製包資源部分構建階段。
  3. 以編程方式按名稱使用字體not filename。

它仍然不起作用。更有趣的是 - 當我列出可用字體時:

NSLog(@"%@", [UIFont familyNames]); 

它顯示我在模擬器上的字體,但不顯示在設備上。我在iOS 6的新iPad和iPhone 4上測試了它。

有什麼建議嗎?

+0

你應該確保你是不是有同樣的問題,如通過打開的。應用程序包和檢查的其他問題字體。或者在應用中使用[[NSBundle mainBundle] pathForResource:ofType:]'。沒有人知道文件是否存在。 – Brendon 2013-04-08 22:33:02

+0

它給了我在模擬器和設備環境中的路徑。 – Gricha 2013-04-08 22:38:29

回答

6

請務必不要將姓氏與字體名稱混淆。這是我用它來檢查我的fonts.-的真實姓名代碼

NSArray *familyNames = [UIFont familyNames]; 
for (NSString *aFamilyName in familyNames) { 
    NSArray *fontNames = [UIFont fontNamesForFamilyName:aFamilyName]; 
    for (NSString *aFontName in fontNames) { 
     NSLog(@"%@", aFontName); 
    } 
} 
+0

謝謝 - 它轉出了我錯了名字 - 它是正確的名稱是TwCenMT-Regular。仍然 - 當我在模擬器上測試時列出並在設備上運行時消失。 – Gricha 2013-04-08 22:33:24

+0

好的 - 你對其他家族的名字是正確的,但我糾正時拼錯了它。謝謝! – Gricha 2013-04-08 22:45:51

+0

很高興幫助:) – ssantos 2013-04-08 22:46:57

1

請確保您獲得了正確的字體名稱。模擬器不區分大小寫,而手機是。

+0

謝謝。我確定它是正確的。我知道從名稱加載圖像的問題:) – Gricha 2013-04-08 22:20:35