如何隐藏弹出的UISearchController

时间:2019-01-10 15:26:29

标签: swift tableview uisearchcontroller

我是新手。我有一个包含TableView的ViewController。

    let searchController = UISearchController(searchResultsController: nil) 

我为Search实现了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

它不会关闭它。有特定的方法可以做到吗,还是我做错了事。

1 个答案:

答案 0 :(得分:1)

您正在向视图中添加一个searchBar,但没有将其删除。

searchController.isActive = false只是停止显示/关闭搜索结果视图,并从searchBar移开焦点

您当前要取消搜索的位置,还需要从视图层次结构中删除搜索栏

searchController.isActive = false
userTableView.tableHeaderView = nil