更新到iOS 13后,UISearchController UITextField背景不显示白色

时间:2019-10-09 18:35:15

标签: ios swift uisearchcontroller

新更新后,我注意到我的UISearchController的行为不像以前那样。

首先,UITextField不再具有白色背景。我试图弄清楚为什么会这样,但没有运气。这就是我的创建方式。

enter image description here

var resultsSearchController = UISearchController(searchResultsController: nil)

self.resultsSearchController.delegate = self
let searchBar = self.resultsSearchController.searchBar

self.resultsSearchController.searchResultsUpdater = self
self.resultsSearchController.obscuresBackgroundDuringPresentation = false
self.resultsSearchController.extendedLayoutIncludesOpaqueBars = true

searchBar.sizeToFit()
self.tableView.tableHeaderView = searchBar
searchBar.placeholder = "Catalog Search"
searchBar.barTintColor = UIColor.darkAqua

据我所知,默认UITextField的默认外观似乎已经改变,这是我的猜测。

只是想知道如何将其改回。

---编辑--- 我尝试按照建议的方式进行操作,并将此代码添加到viewDidLoad()

if #available(iOS 13.0, *) {
    overrideUserInterfaceStyle = UIUserInterfaceStyle.light
} else {
    // Fallback on earlier versions
}

以及将其添加到UISearchController代码中

if #available(iOS 13.0, *) {
    self.resultsSearchController.overrideUserInterfaceStyle = UIUserInterfaceStyle.light
} else {
    // Fallback on earlier versions
}

这两个代码的任何组合都无法对其进行更改,因此UITextField不会出现预期的情况。

1 个答案:

答案 0 :(得分:0)

好吧,原来我很傻。我尝试自己制造它要容易得多。 我最终要做的就是访问searchBar中的UITextField

添加此内容:

UISearchController

使用我已经拥有的代码,看起来似乎又变得正常了。