2012-03-31 90 views
0

我正在尋找一個很好的設計模式來皮膚的應用程序。假設...你有幾個不同的類需要不同的字體,大小不同。皮膚應用的最佳設計模式是什麼?

我原來的做法是建立一個UIFont類,並放置了一堆的方法...說...

+ (UIFont*)myTabBarFont; 

我只是想知道如果任何人有一個更好的解決方案。

謝謝! (順便說一句,我需要保持與iOS 4的兼容性,我不能依賴100%的新外觀API)。


編輯:

我會回答這個問題我自己。我實際上正在尋找的是在應用程序範圍內對皮膚組件進行優化的方法。

其中一個選項是使用Inversion of Control,而不是在任何地方抓取特定的字體和顏色,你可以簡單地創建一個AppearanceManager,並傳遞你想要皮膚的上下文。例如:

[[AppearanceManager sharedInstance] skinComponent:something container:somethingElse]; 

這樣,您可以將所有樣式保留在同一個類中。當然,AppearanceManager類將依靠反射來獲取要應用的屬性。

很高興聽到有人實施了更好的方法。

謝謝!

回答

1

我想你應該將所有設置存儲到單獨的文件中,並根據皮膚名稱或皮膚ID手動調用它們。如果您使用plist文件,則可以使用一個命令將其加載到數組中,並且此數組的元素將分別表示每個皮膚的值分別爲

+0

謝謝!這聽起來像一個有趣的選擇。我正在考慮複製Apple的外觀模式。說...像IoC那樣做一個'AppearanceManager',所以...你可以做一些事情:[[AppearanceManager sharedInstance] skinComponent:something container:somethingElse]。 (我真的找到一個優雅的解決方案!)。 再次感謝! – 2012-04-01 18:58:39

相關問題