Изменить цветовую схему Swiftui View не работает, когда она находится внутри UihostingControllerIOS

Программируем под IOS
Ответить
Anonymous
 Изменить цветовую схему Swiftui View не работает, когда она находится внутри UihostingController

Сообщение Anonymous »

Все, что у меня есть простое представление Swiftui, как это: < /p>

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

struct SettingsSUView: View {
@State private var isPresented = false
@State private var isDarkMode = true
var body: some View {
Button("Show Sheet") {
isPresented = true
}
.sheet(isPresented: $isPresented) {
List {
Toggle("Dark Mode", isOn: $isDarkMode)
}
.preferredColorScheme(isDarkMode ? .dark : .light)
}
}
}

#Preview {
SettingsSUView()
}
Цветовая схема изменяется как обычно, когда она работает в предварительном просмотре и работает как автономный Swiftuiview, но когда она была помещена в UihostingController Цветовая схема перестала меняться.

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

    let contentHostingController = UIHostingController(rootView: SettingsSUIView())
addChild(contentHostingController)
view.addSubview(contentHostingController.view)

contentHostingController.view.snp.makeConstraints { make in
make.edges.equalToSuperview()
}

contentHostingController.didMove(toParent: self)
Я пробовал много таких вещей, как использование ContentHostingController.OverrideUserInterfacestyle = .dark , но большинство из них могут быть изменены только 1 способом и не обновляйте цветовую схему Swiftui. совпадать с изменениями переключения .

Подробнее здесь: https://stackoverflow.com/questions/780 ... stingcontr
Ответить

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

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

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

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

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