2014-11-05 66 views
4

我有一個項目,我需要改變整體色彩主題的應用程序。我的很多UI元素都是通過Xcode 6.1中的Interface Builder構建的。我需要在界面生成器中將顏色設置爲變量,所以如果我設置預處理器告訴應用程序使用某個方案,那麼界面構建器中的顏色將會更改。這甚至有可能嗎?變量的顏色在Interface Builder

回答

1

我不知道的任何方式與界面生成器要做到這一點,但有是你可以在代碼中設置外觀屬性爲衆多IOS UI元素,然後將全局應用的一種方式。作爲一個例子見下面的代碼片斷:

UIToolbar.appearance().tintColor = UIColor.whiteColor() 
UIToolbar.appearance().barTintColor = UIColor.blackColor() 

UITableView.appearance().separatorColor = UIColor.grayColor() 
UITableView.appearance().sectionIndexColor = UIColor.grayColor(); 

UINavigationBar.appearance().tintColor = UIColor.blueColor() 
UINavigationBar.appearance().barTintColor = UIColor.blackColor() 
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName : UIColor.whiteColor()] 

代碼設置一個默認的色調和欄的顏色的所有UIToolbars,分離器和節索引顏色所有UITableViews,和外觀性能在所有UINavigation視圖我的應用程序..

你可以使用#if來設置不同的外觀取決於編譯器設置環境變量。

如果您想了解更多有關如何工作的編號建議閱讀蘋果文檔放在這裏UIAppearance屬性: UIAppearance Documentation

+0

這是沒有幫助的。如果有人問這樣一個具體的問題,他們很可能知道外表......如果你有兩種標籤(標題和文本)並且想要改變所有標題的顏色,該怎麼辦?那麼你不能只改變標籤的外觀! – eyeballz 2015-02-23 17:29:43

1

顏色變量是真棒,我想Xcode中有這一點。

原來你可以添加顏色變量功能。

這Xcode的插件,叫做Suggested Colors,讓您建立和Interface Builder中使用的顏色的調色板。它使用了一個plist文件,所以我認爲你可以在代碼中讀取它,並在代碼和IB之間共享一個調色板。看起來很有希望。不幸的是,似乎在xcode 6.3.2上不起作用。希望它得到修復。