代码之家  ›  专栏  ›  技术社区  ›  rma

UISearchBar不应关闭导航控制器

  •  2
  • rma  · 技术社区  · 6 年前

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

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

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

    1 回复  |  直到 6 年前
        1
  •  0
  •   matt    6 年前

    我不明白你为什么惊讶。你是说 present 要创建由导航控制器和表组成的模态(显示的)视图控制器,请执行以下操作:

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

    你是谁 目前 nav ,导航控制器。那么反过来呢?它是 dismiss ,你在哪里 解雇 导航 . 我也会的 期待 最后导航控制器消失了。

    它本身 应该显示结果表视图。你只是没有正确地处理它,使它这样做。您还没有显示有关搜索控制器及其配置的任何信息,因此无法帮助您进一步了解详细信息。