2012-04-07 68 views
9

我一直在使用iOS中的自定義字體,並且除了自定義字體不會顯示在我的任何設備上以外,大部分情況已經解決了。自定義字體沒有在設備上顯示,但在模擬器上顯示

  1. 我已經添加了字體到項目文件的根目錄。
  2. 將其添加到陣列下的info.plist文件或「應用程序提供的字體」
  3. 檢查了原始文件和我添加到info.plist文件的大小寫是否相同。
  4. 使用[playMenuBtn.titleLabel setFont:[UIFont fontWithName:@"fontname" size:40]];使字體工作。

當我在模擬器中運行我的應用程序時,它一切都顯示正常,並工作。然而,只要我在物理設備上運行它,它會顯示默認大小的默認字體。

如果我使用:
UIFont *font = [UIFont fontWithName:@"VINCASTENCIL" size:20]; NSLog(@"Font:%@", font);

然後模擬器回報: 2012-04-07 01:10:41.544 AppName[47412:f803] Font:<UICFFont: 0x683e040> font-family: "VINCA STENCIL"; font-weight: normal; font-style: normal; font-size: 20px

凡爲設備返回: 2012-04-07 00:42:56.358 AppName[5079:707] Font:(null)

我已經嘗試了一切,包括嘗試所有的名字是FontBook告訴我字體可以被命名。我知道它是免費的,並且沒有許可證。

任何幫助將不勝感激,因爲它促使我​​堅果,我真的不想使用這些圖像,因爲本地化將是一個痛苦!

+0

字體與iOS應用程序打包在一起嗎? – Sirens 2012-04-07 02:30:26

+0

'[UIFont familyNames]'列出了您添加的字體嗎? – MrMage 2012-04-07 08:14:34

+0

什麼擴展名有字體文件? TTF或TTF? – NeverBe 2012-04-07 09:45:18

回答

20

對,我剛剛設法讓這個工作。我所做的每件事都是正確的,但由於某種原因,它並未將我的字體文件添加到「目標」 - >「構建階段」 - >「複製捆綁軟件資源」。通過手動將其添加到此列表中,字體將顯示在設備上。

這是第二次這個項目沒有自動在這裏添加一個文件(這是以前用一個類添加的,它沒有),所以我認爲這是我的項目有問題,或者Xcode中的錯誤。

感謝大家的建議和幫助。 :-D

+0

這就是我傷心的D: – Sirens 2012-04-07 14:52:40

+0

@TheDeveloper是我最終檢查它的原因。謝謝!:-) – Baza207 2012-04-07 16:24:36

+0

似乎xcode不會將默認的TTF文件添加到bundle資源中,例如PNG的。同樣的問題在這裏, – Chris 2012-07-11 09:12:08

0

是的,按照上面提到的所有方向,你應該沒問題。還有其他需要注意的地方:區分大小寫。在你的* .plist文件和Fonts provided by application。模擬器可能會忽略大小寫,但設備不會。例如,'Facebook'與'FaceBook'不一樣。 (這導致字體在模擬器中工作,但不是設備!)

相關問題