【问题标题】:UISearchController UITextField background not showing white after update to iOS 13更新到 iOS 13 后 UISearchController UITextField 背景不显示白色
【发布时间】:2019-10-09 18:35:15
【问题描述】:

在新的更新之后,我注意到我的UISearchController 不像以前那样了。

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

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 按预期显示。

【问题讨论】:

    标签: ios swift uisearchcontroller


    【解决方案1】:

    好吧,原来我很笨。我试图为自己做这件事要容易得多。 我最终所做的只是访问搜索栏中的UITextField 以获取UISearchController

    添加这个:

    searchBar.searchTextField.backgroundColor = UIColor.white
    

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

    【讨论】:

      猜你喜欢
      • 2013-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多