Изменить цветовую схему 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

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