2010-11-22 67 views
6

我試圖通過Info.plist中的UIAppFonts將一些自定義字體添加到iPhone應用程序。將多種字體添加到UIAppFonts中將相互覆蓋

我可以通過代碼來達到兩種字體名稱,即MyFont-BoldMyFont-Medium

我的問題是,在UIAppFonts陣列的最後一個字體會覆蓋另一個,使得無論MyFont-BoldMyFont-Medium呈現出MyFont-Bold如果是這樣的plist中數組中的最後一項。通過拖動MyFont-Bold作爲第一個條目使兩個字體名稱呈現MyFont-Medium。

屬性列表摘錄:

UIAppFonts 
    item 0 MyFont-Medium 
    item 1 MyFont-Bold 

我打電話的字體有:

UIFont* applicationFontBold = [UIFont fontWithName:@"MyFont-Bold" 
               size:[UIFont buttonFontSize]]; 

UIFont* applicationFont = [UIFont fontWithName:@"MyFont-Medium" 
              size:[UIFont buttonFontSize]]; 

任何人試圖將多種字體一個FONT-FAMILY?

回答

4

不知道它是否曾經修復過,但我通過使用vim編輯器實際修改.ttf文件內的字體系列名來解決此問題。因爲你有不同的字體類型(粗體和中等),但實際上是相同的fontfamily(MyFont) - 系統將它們混合起來。因此,我在第一個文件中做了什麼 - 我實際上已將該族修改爲MyFontA,並在第二個文件MyFontB中進行了修改(當然,我有不同的名稱 - 這些只是爲了匹配上述示例)。 這工作完美。

0

我有相同的字體家族的多個字體類似的問題。我發現,如果我將info.plist文件視爲源代碼,則xml格式不正確,只會導致部分字體註冊。