Мне не удалось полностью отключить темный режим на виджете. Что я сделал, так это изменил цвета виджета, чтобы лучше обрабатывать пользовательский интерфейс и пользовательский интерфейс.
В контроллере вида виджета вы должны обработать переход в темный режим, например: var isDarkMode = false
override func willTransition(to newCollection: UITraitCollection, with coordinator: UIViewControllerTransitionCoordinator) {
super.willTransition(to: newCollection, with: coordinator)
if #available(iOS 12.0, *) {
if (newCollection.userInterfaceStyle == .dark) {
isDarkMode = true
} else {
isDarkMode = false
}
} else {
isDarkMode = false
}
}
`
обратите внимание также, что флаг isDarkMode должен быть инициализирован где-то в вашем коде в стартовом состоянии устройства
isDarkMode = (self.traitCollection.userInterfaceStyle == .dark)
, как только вы узнаете, что выв темном режиме вы, вероятно, можете изменить дизайн интерфейса так, чтобы он соответствовал выбранным вами цветам.
HTH