172 похожих чатов

Всем привет! Сейчас пытаюсь сделать дизайн-систему на проекте под iOS. Но

как грамотно сделать передачу параметров для компонентов дизайн-системы? Например тема (light/dark), наборы цветов для каждой темы....
Проблема еще в том, что тема может быть как темой телефона, так и заданной из настроек и нужно чтобы все элементы эти изменения подхватывали.
Пробовал Environment - но я не могу возвращать цвет в зависимости от темы и передать новое значение чтобы все элементы автоматом это новое значение подхватили.
Пробовал EnvironmebtObject - но мне нужно его создавать как StateObject, передавать в корневой элемент отрисовки и немного непонятно, как он себя поведет когда у меня будет много экранов и все они должны будут иметь одну и ту же тему и одни и те же цвета.

Я не особо силен в iOS разработке, так что буду рад, если сможете подсказать какой-то решение\статьи\в какую сторону гуглить)

9 ответов

12 просмотров

Не особо понял что ты хочешь, но вообще обычно создаётся глобальные параметры цветом для компонентов которые используются в компонентах, есть более сложные решения с написание мини-движка, погугли доклад Андрей ручкова про его приложение для телеграмм на контеста, но если не особо разбираешься в iOS будет непросто.

Pavel-Gust Автор вопроса
Aleksei Sherbakov
Не особо понял что ты хочешь, но вообще обычно соз...

Сейчас вот такой объект сделал, вроде и тему подхватывает, и цвет возвращает в зависимости от темы.

держи, логика элементарная

Eldar
ушел с ЧБД ?

Не, подрабатываю там, так-то я iOS

Eldar
Мое почтение 😎

Спасибо, если надо помочь там бетон, щебень, песок тоже ко мне.

Pavel-Gust Автор вопроса
g01dt00th
держи, логика элементарная

Спасибо. А цвета с такой реализацией можно просто через assets задавать?

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта