Перезаписать цвет фона по умолчанию для SwiftUI Views? - PullRequest
1 голос
/ 10 февраля 2020

В темном режиме стандартный цвет фона просмотра - чисто черный. Хотя это выглядит хорошо на iPhone X, например, это вызывает «размытие OLED» при прокрутке или выполнении других анимаций. В зависимости от указанного пользовательского интерфейса c это может выглядеть очень плохо и очевидно: прокрутите список с помощью стиля сгруппированного списка, где ячейки имеют различный цвет фона, и при прокрутке ячейки кажутся сжатыми. Это действительно легко решить, используя 050505 вместо чистого черного (см. Также https://medium.com/lookup-design/designing-a-dark-theme-for-oled-iphones-e13cdfea7ffe и https://twitter.com/marcedwards/status/1053519077958803456?s=21 для демонстрации того, что такое размытие OLED).

Теперь, конечно, я могу переопределить цвет фона каждого просмотра в моем приложении, чтобы использовать пользовательское значение цвета. Но это отстой, легко забыть и т. Д. 1014 *. Итак, вместо этого, как можно изменить цвет по умолчанию?

Редактировать: я знаю, как создавать собственные цвета, используя каталог активов или без, с различными значениями для темного и светлого режима. Это не проблема. Вопрос конкретно в том, как перезаписать цвет по умолчанию.

1 Ответ

0 голосов
/ 10 февраля 2020

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

  1. В Assets.xcassets нажмите + внизу, а затем «Новый набор цветов»
  2. Вы можете присвоить своему цвету имя
  3. В «Внешний вид» в инспекторе атрибутов выберите «Любой, темный»
  4. Затем можно установить разные цвета для каждого и затем используйте имя из шага 2 в качестве цвета в вашем приложении.

Пример: я могу использовать «BlackToWhite» в качестве цвета в своем приложении, и где бы я ни делал это, в легком режиме его будет черным, а в темном режиме он будет белым

Example: I can use

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...