如何解决搜索条从暗模式切换到亮模式时的问题swift

问题描述 投票:0回答:1

嗨,我有一个问题与搜索栏.我使用这个功能来切换我的应用程序之间的黑暗和光明模式。

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

swift uisearchcontroller ios-darkmode
1个回答
0
投票

试着监听变化,然后使用以下方法手动设置 traitCollectionDidChange:

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

    if #available(iOS 13.0, *) {
        if traitCollection.hasDifferentColorAppearance(comparedTo: previousTraitCollection) {
        //Set colours here
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.