2017-01-25 3 views
1

Как я могу связать значения цвета от раскадровки до кода без подкласса?Связать значения цвета от раскадровки до перечисления или структуры

Проблема в том, что в нашем продукте у нас разные марки. Таким образом, у нас есть некоторые элементы управления, такие как кнопки, текстовые поля, ярлыки разных цветов по брендам.

Я думаю, что я могу подклассифицировать каждый элемент управления и использовать @IBInspectable, чтобы выбрать цвет из перечисления, и это перечисление может искать определенный цвет бренда. Но слишком много мест для выполнения этой работы, и я думаю, что это не масштабируемо.

Основная цель - иметь уникальное место для изменения значения цвета. Теперь у нас есть несколько цветов в коде и в представлениях раскадровки, и когда цвет меняется, мы должны изменить код и каждый вид в раскадровке.

Пытаюсь нашел решение, как Android цвета XML файлы

ответ

2

Официальный путь яблока для этого является с UIAppearance прокси. Вы также можете глобально установить цвет оттенка с помощью UIApplication.shared(). Delegate? .window? .tintColor = .red

+0

да, но вы не можете увидеть цвет в раскадровке –

+1

Версия для Android лучше с цветом и строковые константы, но, к сожалению, яблоко не реализовало поддержку цветных и строковых переменных в построителе интерфейса. Вы можете создавать пользовательские цветовые палитры в XCode, но вы не можете использовать их в качестве переменных. Раскадровки - это XML, поэтому, если вам нужно быстро статически перефразировать вещи, самым быстрым способом является поиск и замена текста. Хотелось бы, чтобы у меня был лучший ответ, но так оно и работает. –

Смежные вопросы