Ios UISearchBar不应关闭导航控制器

Ios UISearchBar不应关闭导航控制器,ios,swift,uitableview,uinavigationcontroller,uisearchcontroller,Ios,Swift,Uitableview,Uinavigationcontroller,Uisearchcontroller,我正在构建一个iOS应用程序,通过从另一个视图控制器执行以下转换[1],我可以使用UISearchController[2]访问UITableViewController: let search = UITableViewController() let nav = UINavigationController(rootViewController: search) self.present(nav, animated:true, completion:nil) 但是,当我按下[2]中的“取消

我正在构建一个iOS应用程序,通过从另一个视图控制器执行以下转换[1],我可以使用
UISearchController
[2]访问
UITableViewController

let search = UITableViewController()
let nav = UINavigationController(rootViewController: search)
self.present(nav, animated:true, completion:nil)

但是,当我按下[2]中的“取消”按钮时,应用程序会弹出整个导航控制器并返回到视图[1]!我如何让它取消搜索而不是弹出整个导航控制器?我觉得这应该是默认的行为,我错过了一些东西

我不明白你为什么感到惊讶。您正在说
present
来创建一个由导航控制器和表格组成的模式(呈现)视图控制器:

let nav = UINavigationController(rootViewController: search)
self.present(nav, animated:true, completion:nil)
您现在的
是导航控制器
nav
。那么反过来又是什么呢?它是
disclease
,您要做的
disclease
-ing是
nav
。因此,我希望导航控制器最终消失

这里真正的问题可能是您所做的根本不是如何使用UISearchController。搜索控制器本身就是一个视图控制器,它应该显示结果表视图。你只是没有正确地处理它,使它这样做。您尚未显示有关搜索控制器及其配置的任何信息,因此无法帮助您了解更多细节