Как исправить панель поиска при переключении из темного режима в светлый режим Swift - PullRequest
0 голосов
/ 07 мая 2020

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

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

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

App switched to light mode

1 Ответ

0 голосов
/ 07 мая 2020

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

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

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