我正在尝试实现与WhatsApp相同的行为。我进入Chats下拉,键入我的搜索,并在其中显示一个新的TableView,其中包含搜索结果。
到目前为止没问题。它看起来像这样:
$x("")
现在毛茸茸的部分:当我点击结果时,我希望它像UINavigationController一样显示。就像在WhatsApp中一样。当我点击回来时,我希望看到我的搜索结果。
我尝试了各种各样的东西。将searchResultsController嵌入UINavigationController中。玩弄definePresentationContext,等等。也许有人为你找到了解决方案。
出于性能原因,我不希望searchResults正确显示。必须有一个解决方案,其中包含searchResultsController中的所有结果。
我很感谢任何建议和解决方案如何解决这个问题。
答案 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)
}
}