Цвет SwiftUI в светлом/темном режиме не обновляется в режиме предварительного просмотра или симулятореIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Цвет SwiftUI в светлом/темном режиме не обновляется в режиме предварительного просмотра или симуляторе

Сообщение Anonymous »

Я работаю над тестовым проектом SwiftUI, который включает в себя настройку цветов на основе настроек светлого и темного режима.
В моем каталоге ресурсов я настроил theme.colorset для поддержки разных цветов для светлого и темного окружения, что позволяет мне проверить, как цвета адаптируются к каждому режиму.
[img]https://i .sstatic.net/yBReHY0w.png[/img]

Однако у меня возникла проблема, из-за которой мой код воспринимает только цвет режима .light, независимо от окружающая среда. Эта проблема возникает на холсте предварительного просмотра, в симуляторе и даже на физическом устройстве при запуске в темном режиме.
Сначала я думал, что это может быть проблема с кешированием, но очистка кеша не помогла. решил эту проблему.
Изображение
Вот минимальный пример кода, с которым я работаю:

Код: Выделить всё

struct ContentView: View {
private var baseColor: Color = .theme
var body: some View {
LuminanceVStack(baseColor: baseColor, incrementPercentage: 5)
}
}

struct LuminanceVStack: View {
var baseColor: Color
var incrementPercentage: Double

var body: some View {
VStack(spacing: 0) {
let stepCount = Int(100.0 / incrementPercentage) + 1

ForEach(0.. Color {
let uiColor = UIColor(baseColor)

var hue: CGFloat = 0
var saturation: CGFloat = 0
var brightness: CGFloat = 0
var opacity: CGFloat = 0

uiColor.getHue(&hue, saturation: &saturation, brightness: &brightness, alpha: &opacity)

return Color(
uiColor: UIColor(
hue: hue,
saturation: saturation,
brightness: max(min(luminance, 1.0), 0.0),
alpha: opacity
)
)
}
}
Демонстрационное видео симулятора меняет среду, но цвет не обновляется
Что я пробовал
  • Сброс предварительного просмотра: попробовал сбросить предварительный просмотр холста, думая, что это может быть проблема с кешированием.
  • Симулятор: проверено в симуляторе, явно установив для среды темный режим, но все же отображаются только цвета светлого режима.
  • Физическое устройство: протестировано на физическом устройстве в темном режиме, но по-прежнему применяется только светлый цвет.
Вопрос
Почему настройки светлого/темного окружения игнорируются и есть ли способ обеспечить настройку цветов в соответствии с активным режимом? Будем признательны за любые предложения по устранению неполадок или решению этой проблемы.

Подробнее здесь: https://stackoverflow.com/questions/791 ... -simulator
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»