【问题标题】:How to hide the popped UISearchController如何隐藏弹出的 UISearchController
【发布时间】:2019-01-10 15:26:29
【问题描述】:

我是 swift 的初学者。我有一个包含 TableView 的 ViewController。

    let searchController = UISearchController(searchResultsController: nil) 

我为搜索实现了 UISearchController 并用一个方法调用它:

    func search() {
    searchController.searchResultsUpdater = self
    searchController.hidesNavigationBarDuringPresentation = false
    searchController.dimsBackgroundDuringPresentation = false
    searchController.searchBar.sizeToFit()
    userTableView.tableHeaderView = searchController.searchBar
}

我将方法 search() 与 BarButtonItem 关联起来。 SearchField 弹出,但是当我想用以下方法关闭它时:

    searchController.isActive = false

它不会关闭它。有没有具体的方法,或者我做错了什么。

【问题讨论】:

  • 我今天用过searchController.isActive = false,效果很好?
  • 不,这没有任何作用
  • 啊等一下,你的意思是当你点击按钮时它会将搜索栏添加到 tableView 但是当你调用 searchController.isActive = false 时它不会删除搜索栏?
  • 是的,没错。谢谢!

标签: swift tableview uisearchcontroller


【解决方案1】:

您正在向视图添加一个搜索栏,但没有将其删除。

searchController.isActive = false 只是停止搜索结果视图显示/关闭它并从搜索栏中移除焦点

如果您当前尝试取消搜索,您还需要从视图层次结构中删除搜索栏

searchController.isActive = false
userTableView.tableHeaderView = nil

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多