【问题标题】:UIView hidden by USearchControllerUSearchController 隐藏的 UIView
【发布时间】:2020-02-01 16:21:27
【问题描述】:
【问题讨论】:
标签:
ios
swift
iphone
navigationbar
uisearchcontroller
【解决方案1】:
我无法重现您的错误,但我会发布我的测试代码,因为它可以帮助您。
我建议您在 BaseViewController: UIViewController 中编写此代码并在您的 ViewControllers 中扩展它以定义大标题:
self.navigationController?.navigationBar.prefersLargeTitles = true
定义您的 UISearchController 并设置您的 Instance。
var resultSearchController: UISearchController!
resultSearchController = UISearchController(searchResultsController: nil)
resultSearchController.searchResultsUpdater = self
tableView.tableHeaderView = resultSearchController.searchBar
最后,您可以尝试在屏幕消失时关闭搜索键盘,如下所示:
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
resultSearchController.searchBar.endEditing(true)
}
希望这会有所帮助。
【解决方案2】:
在 viewwillappear 中添加以下行可以解决我的问题
extendedLayoutIncludesOpaqueBars = true