#swiftui
#swiftui
Вопрос:
Например, если устройство находится в темном режиме, и я установил цветовую схему на светлую с помощью приведенного ниже кода, строка состояния невидима, потому что она по-прежнему белая и не будет обновляться, пока я не сделаю что-то вроде вызова клавиатуры или запуска таблицы действий.
struct ContentView: View {
var body: some View {
Text("Hello, world!")
.preferredColorScheme(.light)
}
}
Это каким-то образом работает на моем iPad, но не на моем iPhone или любом из симуляторов. И я не смог найти способ изменить стиль строки состояния с помощью жизненного цикла приложения SwiftUI.
Я что-то здесь упускаю? У кого-нибудь есть решение для этого?
Комментарии:
1. Я думаю, что это ошибка!
2. Я не уверен, как это повторить. Я использовал ваш код с
.preferredColorScheme(.light)
, и он не похож на прикрепленное изображение, в котором используется темная цветовая схема. Единственное, что заметно, это то, что при запуске приложения строка состояния не отображается из-за белого на белом.3. Извините, я загрузил неправильный скриншот, который использовал светлый внешний вид, и
.perferredColorScheme(.dark)
, но это та же проблема, строка состояния не видна. Я отредактировал вопрос с помощью правильного скриншота.4. Является ли contentView самым внешним видом вашего приложения? Если он содержится в другом представлении, это представление, вероятно, должно иметь модификатор.
5. Должна быть ошибка. Я попытался добавить новый симулятор, и, похоже, проблем нет. Но эта проблема все еще существует на моем телефоне и некоторых симуляторах.
Ответ №1:
Попробуйте вместо этого использовать модификатор среды
.environment(.colorScheme, .light)