2012-01-22 71 views
9

我已經添加了自定義字體 - 我已從網上下載的一種。它採用TTF格式,可用於我的Mac上的其他程序。 (成功將其添加到字體書並用於煙花)。不能找到自定義字體 - iOS

我已經添加了信息.plist的關鍵字,但字體似乎不起作用。

當我NSLog的字體是空的,所以我假設它沒有找到它。

TTF稱爲倫敦__。TTF,但名稱爲倫敦字體。

我應該使用什麼作爲字體並添加到info.plist中以使其工作?

感謝

應用程序的字體資源路徑=倫敦__。TTF

NSLog(@"%@",[UIFont fontWithName:@"London font" size:22]); 

NSLog(@"%@",[UIFont fontWithName:@"LONDON__.TTF" size:22]);

他們兩個返回null。

儘管該文件被命名爲倫敦__。TTF字體在字體書中顯示爲每個人。這是問題嗎?

+0

你在「Info.plist」中放了什麼? –

回答

36

看所有的可用字體

的Objective-C:

for(NSString* family in [UIFont familyNames]) { 
    NSLog(@"%@", family); 
    for(NSString* name in [UIFont fontNamesForFamilyName: family]) { 
     NSLog(@" %@", name); 
    } 
} 

斯威夫特:

for family: String in UIFont.familyNames() { 
    print("%@", family) 
    for name: String in UIFont.fontNamesForFamilyName(family) { 
     print(" %@", name) 
    } 
} 

..如果它不存在,重新安裝

  1. .ttf文件複製到您的項目中(即將其拖到項目導航器中的資源文件夾中)。

  2. 在您的Info.plist中添加一個條目,其中包含數組類型爲Fonts provided by application的條目。作爲項目0,添加對應於字體文件名稱的字符串值(例如OpenSans-ExtraBoldItalic.ttf)。

  3. 確保字體文件包含在項目設置下的copy bundle resources列表中。

+0

謝謝它沒有出現,所以我認爲它沒有正確添加。有任何想法嗎? – Dan

+0

Rob Mayoff問道,編輯您的問題以包含.plist條目。 – user371320

+0

您是否將字體文件添加到您的項目中? – user371320

1

這兩個名字聽起來都不對。假設你已經正確地將其添加到您的plist中,使用類似

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

看到它的內部名稱是什麼。

順便說一句,請確保字體許可允許嵌入。許多商業字體沒有。

+0

謝謝它沒有出現,所以我認爲它沒有正確添加。有任何想法嗎? – Dan

+0

所以它在你的plist像 \t UIAppFonts \t \t \t 荷蘭Mediaeval.ttf \t 和項目的一部分? –

6

您需要確保字體文件包含在項目設置下的copy bundle resources列表中。我的字體不會顯示在[UIFont familyNames]中,直到我將它添加到此處爲止,因爲它在添加到項目時不會自動包含。