Как исправить панель поиска при переключении из темного режима в светлый режим Swift

Привет, у меня проблема с панелью поиска. Я использую эту функцию, чтобы переключать свое приложение между темным и светлым режимами

func changeStyle(dark: Bool){
    let window = UIApplication.shared.windows.first { $0.isKeyWindow }
      if dark == true {
          window?.overrideUserInterfaceStyle = .dark 
      }else{
          window?.overrideUserInterfaceStyle = .light
      }
}

Все работает нормально, но проблема есть только с панелью поиска. Панель поиска остается в темном режиме, когда я переключаюсь в светлый режим. См. Изображение ниже. Как я могу это исправить?

Приложение перешло в облегченный режим


person TheCesco1988    schedule 07.05.2020    source источник


Ответы (1)


Попробуйте прислушаться к изменениям и установить вручную с помощью traitCollectionDidChange:

override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
    super.traitCollectionDidChange(previousTraitCollection)

    if #available(iOS 13.0, *) {
        if traitCollection.hasDifferentColorAppearance(comparedTo: previousTraitCollection) {
        //Set colours here
    }
}
person Tom    schedule 07.05.2020