2012-01-29 33 views
3

我正在嘗試爲我的iOS應用使用自定義字體。這是我做的不能在iOS應用中使用自定義字體

我添加了自定義字體(m.tff)到Xcode支持文件目錄。此外,我創建的應用程序與myApp.plist

字體(m.tff)在我看來的值名稱設置進入所謂的字體我有一個標籤

UILabel *label = [[UILabel alloc]initWithFrame:CGRect(10, 20, 230, 30)]; 
label.font = [UIFont fontWithName:@"My custom font" size:15]; 

等等

問題是,當我啓動應用程序時,標籤中的文本是使用默認字體而不是使用特定的字體。

我在這裏想念什麼?

EDITED

那麼它現在似乎工作,但字體僅適用於像,人物?但不適用於信件。 我使用西里爾文順便說一句。

回答

9

使用此提供了plist中

字體的條目,從而獲得所有可用

// List all fonts on iPhone 
    NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]]; 
    for(NSString *familyName in familyNames) 
    { 
    NSLog(@"family: %@", familyName); 

    NSArray *fontNames = [[NSArray alloc] initWithArray:[UIFont fontNamesForFamilyName:familyName]]; 
    for(NSString *fontName in fontNames) 
    { 
     NSLog(@" font: %@", fontName); 
    } 
    } 
字體

尋找你嵌入的字體,看看它的名字是否相同。

+0

哇,這是非常有用的! – summerc 2012-01-29 13:54:49

2

檢查您的[UIFont fontWithName:@"My font" size:15]行是否返回非空的UIFont對象。

+0

是的,我也喜歡@ Piyush的回答。 +1給他。 – 2012-01-29 13:48:03

+0

編輯你的問題時編輯我的答案,你是個偷偷摸摸的人。 :-)我原來的問題指出了複製和粘貼代碼中的拼寫錯誤。 – 2012-01-29 13:49:36

4

字體擴展應TTF,而不是TIFF

,然後通過使應用Font.ttf

+1

O.P.現在編輯了他的問題,把'.tiff'改成'.tff'(它*仍然不正確)。可能現在盧克的答案是最合適的答案。 – 2012-01-29 13:53:43

+0

是的,它是不正確的,它應該是ttf(真正的字體),而不是tff – 2012-01-29 14:03:48

0

m.tiff聽起來不像受支持的字體文件,即TrueType或OpenType。

2

在你Info.plist文件,添加鍵值:Fonts provided by application使用數組對象,並設置陣列的項目爲字符串如下:

MyFont.ttf 

哪裏MyFont是列出的確切名稱字體在你的Mac的應用程序,「字體書」。使用Spotlight啓動字體書籍,然後在其中找到您的字體文件以再次檢查名稱。

然後,當你設置字體爲您的標籤:

myLabel.font = [UIFont fontWithName: @"MyFont" size: someFloatValue]; 
+0

請參閱更新的問題 – summerc 2012-01-29 13:58:05

+0

您的字體文件是否包含您正在嘗試使用的字符? – Luke 2012-01-29 14:01:28

0
  1. 確保您的字體是info.plist中(由應用程序提供字體)
  2. 選擇侑的目標,在構建階段選項卡,複製軟件包資源,添加你的字體。