我正在尝试为结果设置UISearchController
一个自定义UITableViewController
项。在我的主控制器中,UITableViewController
我有一个从主UITableViewController
控制器到细节控制器的转场,如果我将模型对象传递给具有值的细节控制器,搜索栏最初是隐藏的,但如果我滚动它会显示(类似于在默认情况下加载收件箱时) iOS 邮件应用程序)。如果没有值传递给结果控制器,则显示搜索栏。
我正在详细视图控制器中创建搜索结果控制器,如下所示:
func configureSearchController() {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
guard let resultsController = storyboard.instantiateViewController(withIdentifier: "resultsController") as? SearchResultsTableViewController else {
return
}
self.searchController = UISearchController(searchResultsController: resultsController)
// results controller handles search results
searchController.searchResultsUpdater = resultsController
searchController.searchBar.delegate = resultsController
searchController.searchBar.placeholder = "Search items"
searchController.searchBar.returnKeyType = .done
searchController.searchBar.sizeToFit()
searchController.edgesForExtendedLayout = []
self.definesPresentationContext = true
self.navigationItem.searchController = searchController
}
这就是发生的事情:
我怎样才能使搜索栏始终显示在详细信息控制器上?