想要在應用程式內使用其他字型設定,就免不了使用到 UIFont 型態,下面就來看看到底要如何使用,才能正確的設定其他字型吧。
新增字型
目前已知能在 iOS 中使用的字型格式有 TTF(True Type Font)、TTC(True Type Collection)和 OTF(Open Type Font)。
本範例是使用「華康娃娃體」來做教學示範,首先將字型檔案加入專案內(此字型並不需要安裝到電腦上),接著編輯 info.plist 讓字型與專案結合。在 info.plist 中新增一個 UIAppFonts 欄位,此欄位會是一個陣列型態,若是使用 iOS 4.0 或是更高版本的 SDK 則新增 Fonts provided by application 欄位,接下來我們將所有要使用的字型逐一鍵入此陣列中。
從 iOS 4.0 以上的環境下在 info.plist 中新增字型檔 |
設定 UIFont
到目前為止我們已經讓字型檔案與專案做結合,若是使用中文字型檔則會出現一個小問題,就是他的檔案名稱與字型真正的名稱並不一樣,像是標楷體的字型檔,檔案名稱可能是「標楷體.ttf」,但是在電腦中卻會是以「DFKai-sb」來標記,所以我們要先確定字型的正確英文名,才有辦法對 UIFont 加以設定。
確認的方法是雙擊字型檔案,這時會出現安裝字型的畫面,而字型的正確英文稱就會出現在 Caption Title 上。
確認的方法是雙擊字型檔案,這時會出現安裝字型的畫面,而字型的正確英文稱就會出現在 Caption Title 上。
華康娃娃體的正確英文名稱 |
透過驗證字體的方式取得已安裝字體的正確英文名稱 |
確認字型正確的英文名稱之後,就可以參考下列程式碼來設定 UIFont 的字型與大小,並將此字型應用於 iOS 應用程式中。
UIFont *myFont = [UIFont fontWithName:@"DFPWaWa-B5" size:28];
其他工具
另外,你可以透過 www.ios6-fonts.com 網路免費工具來快速預覽在 iOS 6.0 中的字型效果,該站目前提供 199 字型的預覽(尚無中文),並且附上簡單的程式碼供複製使用。
www.ios6-fonts.com 網站截圖(2013/2/20) |
大大:
回覆刪除Lion 好像無法看到字型標的名稱,有辦法解決嗎
感謝賜教~
您好:
刪除關於您的問題,這跟 Lion 沒有關係喔,想要查詢正確的字體名稱‘ㄝ除了在安裝字體時可以看到外,你也可以到「應用程式」中的「字體簿」查閱,在字體簿中,對著想要的字體點選滑鼠右鍵,選擇「驗證字體」就會看到字體的「檔案名稱」與「正確字型的英文名稱」。
有些系統字體 iOS 可能不支援,必須採用文章的方法加載到你的應用程式中喔。
ttc也可以唷 我測試的是ttc 也跑得起來
回覆刪除Tom 您好:
刪除剛剛試了一下確實是可以,感謝您!
我也會在文章中一並修正。
Hi 牛奶你好 事隔多日
回覆刪除我今天在stackoverflow回答一個老外有關於這篇的問題 恰巧有個老外指正其中的錯誤
設定 UIFont
確認的方法是雙擊字型檔案,這時會出現安裝字型的畫面,而字型的正確英文稱就會出現在 Caption Title 上。
上面這句有個這個老外有說 不能這樣看 因為有些字形可能是粗體字 但是在Title上它不會顯示 只會顯示名稱
要正確辨認方式為右鍵簡介的字型說明
http://stackoverflow.com/questions/16788330/how-do-i-get-the-font-name-from-an-otf-or-ttf-file/16788547?noredirect=1#comment24192668_16788547
Tom 您好:
刪除謝謝您的分享,讓我多上了一課!
不過我剛剛是了一下,有些中文字體在簡介中好像也不會顯示英文的字體名稱,如果要查閱,還是驗證字體才會看到。