【问题标题】:UISearchBar should not dismiss Navigation ControllerUISearchBar 不应关闭导航控制器
【发布时间】:2019-05-04 04:13:46
【问题描述】:

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

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

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

【问题讨论】:

    标签: ios swift uitableview uinavigationcontroller uisearchcontroller


    【解决方案1】:

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

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

    你是present-ing 是nav,导航控制器。那么它的反面是什么?是dismiss,你是dismiss-ing 是nav。所以我会期望导航控制器最终消失。

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

    【讨论】:

      猜你喜欢
      • 2013-12-26
      • 1970-01-01
      • 1970-01-01
      • 2020-03-30
      • 1970-01-01
      • 2020-05-30
      • 2016-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多