【问题标题】:How to show different searchResultsController in UISearchController如何在 UISearchController 中显示不同的 searchResultsController
【发布时间】:2017-05-01 22:04:48
【问题描述】:

我正在使用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
 }

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

【问题讨论】:

    标签: swift uisearchbar uisearchcontroller uisearchbardelegate uisearchresultscontroller


    【解决方案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 )
    

    如果有更好的方法,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多