2014-01-15 49 views
0

我從來沒有遇到過這個問題。但是除了系統字體之外,我無法獲得任何字體。我想使用helvetica,但那不起作用,我試圖將我的UILabel的設置給Farah,看看它是否有效,而不是。但是,如果我在模擬器(使用iOS7)中運行,那麼它似乎工作正常。我試圖在故事板上設置字體。然後嘗試以編程方式設置它,非系統字體無法在iOS6上工作

self.titleLabel.font = [UIFont fontWithName:@"Farah" size:25]; 

是否有任何更改與新的Xcode,將不允許非系統字體?

+0

字體文件是否正確安裝在資源包中? Info.plist是否正確引用字體文件?您是否使用適當的字體名稱作爲字體? – rmaddy

回答

0

參數fontWithName必須是字體的實名,而不是文件的名稱。

如果你用Mac字體書打開你的ttf文件,你會直接在窗口上看到它的名字。

欲瞭解更多信息,請查詢this

0

正確獲取字體名稱並不容易。運行此代碼,以瞭解可用的名字:

for (NSString* s in [UIFont familyNames]) 
    NSLog(@"%@: %@", s, [UIFont fontNamesForFamilyName:s]); 

當然,如果設置的self.titleLabel一個功能不工作,你也應該確保self.titleLabel不爲零。

2

將所有非系統字體添加到您的應用程序幷包含在'應用程序提供的字體'部分.plist文件中。 在應用程序中使用字體後:[UIFont fontWithName: @"TitilliumText25L-400wt" size:14];(將「TitilliumText25L-400wt」替換爲相應的字體名稱)。

P.S.如果您在檢測真實字體名稱時遇到問題,請使用FontBook應用程序或 下面的代碼段,它向您顯示應用程序的所有可用字體。

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

好吧,所以iOS6不附帶Farrow或HelveticaNeue-Thin。這就是爲什麼它不起作用。我切換到HelveticaNeue-Light,它工作。我並沒有試圖導入任何ttf文件或任何東西。我只是想在IB中選擇字體,並在應用程序中看到它沒有發生。這是因爲iOS6不會加載HelveticaNeue-Thin –

相關問題