1

我正在使用UISearchController(不是UISearchDisplayController),我想在搜索处于活动状态时显示一个单独的视图。我不想使用当前视图。

试过了self.searchController = UISearchController(searchResultsController: self.resultsController )。但这并没有显示任何东西。

甚至试过这个

 func presentSearchController(_ searchController: UISearchController) {
     DispatchQueue.main.async {
         searchController.searchResultsController?.view.isHidden = false
     }
 }

 func didPresentSearchController(_ searchController: UISearchController) {
     searchController.searchResultsController?.view.isHidden = false
 }

在搜索处于活动状态之前,我的默认表格数据如下,我希望此表格隐藏并显示单独的视图并将键入的关键字传递给该新视图。我怎样才能做到这一点?

在此处输入图像描述

4

1 回答 1

1

由于 viewController 没有直接的 segue,我们需要显式引用我们想要使用的 viewController。

我使用了下面的代码,它会在我的 searchBar 处于活动状态时加载我的新控制器。

    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    self.resultsController = storyboard.instantiateViewController(withIdentifier: "searchResults") as! SearchResultsTableViewController
    self.searchController = UISearchController(searchResultsController: self.resultsController )

让我知道是否有更好的方法可用。

于 2016-12-16T10:38:32.407 回答