2015-09-18 91 views
0

我已經在我的項目進口2個字體文件到我的資源組,也將它們添加到我的plist文件:設置粗體字體的NSString的iOS

PT-sans.narrow-bold.ttf和PT_Sans,窄網絡Bold.ttf

我想設置粗體字體屬性串,但它無法找到我的字體,我得到這個錯誤:

(UIFont*) nil 

這就是我如何設置字體:

UIFont *font_bold=[UIFont fontWithName:@"PT Sans Narrow Bold" size:14.0f]; 

它需要從這個家庭的字體。任何想法,我做錯了什麼?

+1

也許你應該寫'[UIFont fontWithName:@ 「PT_Sans-窄幅粗體」 尺寸:14.0f]'? – mikle94

+0

字體名稱錯誤,我列出了所有可用的字體在我的應用程序,並且問題解決了 – Monicka

回答

0

您可以查看字體的是通過添加以下內容到didFinishLaunchingWithOptions

NSArray *fontFamilies = [UIFont familyNames]; 

for (int i = 0; i < [fontFamilies count]; i++) 
{ 
    NSString *fontFamily = [fontFamilies objectAtIndex:i]; 
    NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]]; 
    NSLog (@"%@: %@", fontFamily, fontNames); 
} 

和@ mikle94說訪問,瓶蓋可能是你的問題。

+1

嗨,您的答案幫助我找到我的解決方案,我會接受您的答案,但我也會寫詳細的解釋我如何解決我的問題。 – Monicka

0

在這裏我們要使用我們的應用程序的字體,它不存在,我們要注意的幾件事情,爲了不給做同樣的錯誤,我做到了,並且奇蹟後案件「是什麼錯了,我的代碼完全寫成「。

  1. 將.otf或.ttf中的字體複製到您的項目中。

  2. 將其添加到.plist文件中。在您的plist文件中添加'應用程序提供的字體',並在項目0中複製您已經導入到項目中的字體名稱。

  3. 檢查你的目標 - >構建階段 - >複製包資源。如果你沒有在那裏看到你的字體,添加它。

  4. 非常重要 - 列出可用的字體來檢查,你可以在你的應用程序中使用正確的名稱:

    NSArray *fontFamilies = [UIFont familyNames]; 
    for (int i = 0; i < [fontFamilies count]; i++) 
    { 
        NSString *fontFamily = [fontFamilies objectAtIndex:i]; 
        NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]]; 
        NSLog (@"%@: %@", fontFamily, fontNames); 
    } 
    

查找您需要的字體,並設置這樣說:

UIFont *customFont = [UIFont fontWithName:@"PTSans-NarrowBold" size:20];