在UISearchController iOS11中导航

时间:2017-11-05 10:57:06

标签: swift ios11 uisearchcontroller

我正在尝试实现与WhatsApp相同的行为。我进入Chats下拉,键入我的搜索,并在其中显示一个新的TableView,其中包含搜索结果。

到目前为止没问题。它看起来像这样:

$x("")

现在毛茸茸的部分:当我点击结果时,我希望它像UINavigationController一样显示。就像在WhatsApp中一样。当我点击回来时,我希望看到我的搜索结果。

我尝试了各种各样的东西。将searchResultsController嵌入UINavigationController中。玩弄definePresentationContext,等等。也许有人为你找到了解决方案。

出于性能原因,我不希望searchResults正确显示。必须有一个解决方案,其中包含searchResultsController中的所有结果。

我很感谢任何建议和解决方案如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

最后我发现了答案! 解决方案是:为您的searchResultsController创建一个子类,当您实例化控制器时,将UINavigationController的引用传递给它。选择单元格时,请将其命名为:

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    // yourController is the UIViewController to show your stuff
    if let yourController = storyboard?.instantiateViewController(withIdentifier: "yourController"){
        // navController is the reference to the navController of the controller where you performed the search
        navController?.pushViewController(yourController, animated: true)
    }
}