Изменение цветовой схемы SwiftUI View не работает, когда оно находится внутри UIHostingControllerIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Гость
 Изменение цветовой схемы SwiftUI View не работает, когда оно находится внутри UIHostingController

Сообщение Гость »


Все, что у меня есть, — это простое представление SwiftUI, подобное этому:

struct SettingsSUView: Просмотр { @State Private var isPresented = false @State Private var isDarkMode = true var body: some View { Кнопка("Показать лист") { isPresented = правда } .sheet(isPresented: $isPresented) { Список { Toggle("Темный режим", isOn: $isDarkMode) } .preferredColorScheme(isDarkMode? .dark: .light) } } } #Предварительный просмотр { НастройкиSUView() } Цветовая схема меняется как обычно, когда она запускается в режиме предварительного просмотра и как отдельный 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, но большинство из них можно изменить только одним способом и не обновлять цветовую схему представления SwiftUI, чтобы она соответствовала изменениям Переключить.
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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