2010-08-03 60 views
6

由於某些原因,在設計我的iPad應用程序時,許多字體在Interface Builder中不會顯示。不幸的是,我的iPad尚未發佈,所以我無法確定這是否會長期存在問題,但它肯定會保留在模擬器中。在Interface Builder中不顯示的字體

有問題的字體在各種網站上列出,與iPad兼容,但SDK 4.0.1似乎仍然感到困惑。

例如Hoefler Text字體分配給直接在新鮮iPad上繪製的標籤,使用默認字體顯示視圖。如果我點擊編輯它以正確的字體顯示的文本。我已經試過了一對夫婦的Mac現在

這是一個問題,因爲我需要通過應用實體模型發送給我的客戶,爲他們的後端團隊:(

任何跡象像素的完美佈局想法?!

+0

爲什麼不能標記這個iphone-sdk?每次我都會忽略它?!?! – 2010-08-03 17:17:41

回答

8

對於其他可能感興趣的人:在XCode 3.x上有一個缺陷/已知問題,帶有非標準字體和Interface Builder。自定義字體通常需要以編程方式設置(通過[UIFont fontWithName ...)

對於模型,你應該使用像PhotoShop等工具而不是Interface Builder。

+0

它似乎還沒有修復......我試圖將Hoefler Text用於我的設計,這確實很痛苦。 – CedricSoubrie 2011-03-27 21:50:15

+7

當我寫這篇文章XCode 4沒有發佈,但是 - 你是對的:它仍然在4,不幸... :( – lxt 2011-03-27 23:09:52

+3

仍然在Xcode 4.5破碎 – Adam 2012-12-13 17:56:22

3

使用界面生成器中的自定義字體可重複使用的庫可用。

它使用一個簡單的技巧來做到這一點。將字體(例如calibri)設置爲您的項目中永遠不會使用的所有UI元素,並且FontReplacer將自定義字體和校準之間的映射。所以不需要製作IBOutlets或任何其他圖形。

這裏是鏈接到github從哪裏可以下載FontReplacer用於您的項目。 https://github.com/0xced/FontReplacer

+0

不是很好解決方案,如果你試圖排隊你的標籤等UI界面設計師的工作:( – user441669 2013-06-27 16:50:50

2

我通過在UILabel上編寫自定義類別來解決此問題。該類別具有使用objc_setAssociatedObject在標籤上設置的'myFontName'屬性,並使用objc_getAssociatedObject從對象獲取。

然後,我在名爲'updateWithMyFont'的類中寫了另一種方法,通過標籤的屬性文本屬性設置標籤上的字體(抓住屬性文本並複製屬性,設置字體,創建新的屬性字符串,設置屬性文本屬性)。

+0

你可以在這裏包括你的代碼,這樣我可以更好地理解? – Suragch 2015-06-24 02:37:51

相關問題