2014-11-05 2 views
4

У меня есть проект, который должен изменить общие цветовые темы в приложении. Многие элементы моего пользовательского интерфейса создаются через Interface Builder в Xcode 6.1. Мне нужно установить цвета в качестве переменных в построителе интерфейса, поэтому, если я установил препроцессор, предлагающий приложению использовать определенную схему, тогда цвета будут меняться в построителе интерфейса. Возможно ли это?Переменные для цветов в построителе интерфейса

ответ

1

Я не знаю, как это сделать с помощью конструктора интерфейса, однако есть способ, который вы можете установить в свойствах внешнего вида в коде для многих элементов интерфейса IOS, которые затем будут применяться во всем мире. В качестве примера можно привести следующий фрагмент кода:

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, чтобы установить внешний вид по-разному в зависимости от переменных окружения, заданных в компиляторе.

Если вы хотите узнать больше о том, как это работает, Id предлагаю читать Apples документацию по свойствам UIAppearance здесь: UIAppearance Documentation

+0

Это не помогает вообще. Если кто-то задает конкретный вопрос вроде этого, они, скорее всего, знают о внешности ... Что делать, если у вас есть 2 типа ярлыков (заголовки и тексты) и хотите изменить цвет всех заголовков? Тогда вы не можете просто изменить внешний вид ярлыка! – eyeballz

1

Цветовые переменные являются удивительными, я хочу Xcode было это тоже.

Оказывается, вы можете добавить функцию цветовых переменных.

Этот плагин xcode, называемый Suggested Colors, позволит вам создавать и использовать палитру цветов в Interface Builder. Он использует файл plist, поэтому я думаю, что вы можете прочитать это в коде и иметь цветовую палитру, разделяемую между кодом и IB таким образом. Выглядит многообещающе. К сожалению, похоже, что он не работает в xcode 6.3.2. Надеюсь, он будет исправлен.