2012-12-20 66 views
0

我正在爲我公司的客戶製作應用程序。整個應用程序已完成,並已在應用商店中。但是現在他希望我將標籤/文字視圖的字體或任何有文字的地方改爲自定義文字。有什麼方法可以在一個地方更改字體,以便在應用程序中的任何地方都可以更改字體嗎?感謝您的緊急幫助。iOS應用程序隨時隨地更改字體

回答

4

據我所知,沒有不可思議的解決方案來更改全局字體。你可以做小班來做到這一點。例如,您可以通過創建自定義UILabel類並更改initWithFrameawakeFromNib的字體來更改所有UILabel字體。所以看起來你可能必須爲你的應用程序中的所有UI元素執行此操作。

但是,嘿,優點是。下一次,改變字體將是一件輕而易舉的事情。我們都知道客戶公司如何改變他們的想法...

源 - How do I set a custom font for the whole application?

0

在您的應用程序委託,它是把所有的應用程式類別的訪問創建的NSString。這個NSString將是你的字體的名字。現在瀏覽您的應用程序,並將所有文本的字體更改爲NSString中的名稱。

label.font = [UIFont fontWithName:appDelegate.fontName size:12]; 

只需設置的NSString給你的應用程序委託選擇哪種字體,一切將更新到這一點。這應該比創建和實現UILabel子類更容易,因爲您只是想要更改一個屬性的一部分。

+0

不錯而優雅.. +1 – TonyMkenu

0

您可以在項目的.pch文件中爲字體(它將替換字體名稱或UIFont對象)寫入宏。

#define TextFont [UIFont fontWithName:@"Helvetica" size:13] 

並在所有的類中使用它。但是所有使用IB或故事板放置的文本,都必須通過IB或故事板手動更改所有文本。您現在可以爲所有UI元素創建IBOutelets,以便下次使用宏以編程方式輕鬆更改字體。

2

我剛剛發現[[UILabel appearance] setFont:[UIFont fontWithName:@"Open Sans" size:20.0]];效果不錯

相關問題