В моем каталоге ресурсов я настроил 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