2013-08-02 90 views
3

我需要OpenSans在我的應用程序,所以我導入了包括粗體,ExtraBold,斜體,Regular,Light和更多的整個OpenSans一堆。我將它們添加到我的Mac上的Fontbook(檢查我需要使用它們時需要的確切名稱),將它們添加到我的項目中,並將它們添加到我的項目中。iOS ttf字體只能部分工作

現在奇怪的事情;當我將它們與UIFont一起使用時,只有OpenSans-Bold的作品。其餘的不起作用。如果我使用OpenSans-Bold(正是Fontbook給出的標識符),一切正常。但是,如果我將其更改爲OpenSans-Regular或OpenSans-Light或該家族中的其他產品,則可以使用UIFont獲取systemfont,而使用Quartz進行繪圖時不會得到任何結果。

所有字體都在所有列表中,我檢查了Fontbook中的所有標識符(這就是爲什麼我無法獲得OpenSans-Bold的工作原理),但現在我不知所措。任何想法我可能做錯了什麼?

+0

請顯示一些代碼。還請查看此答案以列出字體名稱:http://stackoverflow.com/a/15985120/168493 –

+0

他使用Google提供的自定義字體(http://www.google.com/fonts/specimen/Open+ Sans) – runmad

+0

僅限於我OpenSans-Regular正在運行。我在故事板中設置標籤的字體,當使用斜體或粗體時,結果只是默認字體。 – Claus

回答

13

OpenSans經常只是OpenSans,半大膽的是OpenSans-Semibold

在字體Book.app選擇字體,然後選擇Command + I帶來了字體信息。在頂部的「PostScript名稱」中,您可以看到字體的調用方式以及如何在代碼中調用它。

而且,只要確保字體實際上已經在你的包和你的plist :)

+0

謝謝,讓我再試一次。我確信我做到了,但也許我很sl。。他們爲什麼這麼做......無論如何。將回報。 – CharlesS

+0

我打破了我的手臂。因此,最近的反應...... – CharlesS

0

添加您可以檢查由TTF文件隨着下列代碼行提供的字體..

這方法由UIFont類提供。

  • (NSArray的*)fontNamesForFamilyName:(的NSString *)familyName
0

您需要添加的文件在正確的位置,然後在plist文件,然後列舉所有,並打印出來,以獲得PDF名稱,以便您可以訪問它們。很有可能你使用了錯誤的名字。 字體有三種名稱:

  • 文件名
  • 在字體冊字體名稱
  • PDF格式的名字 - 這是一個用於訪問代碼的字體

看到這個答案: Adding custom fonts to iOS app finding their real names