Swift 如何隐藏弹出的UISearchController

Swift 如何隐藏弹出的UISearchController,swift,tableview,uisearchcontroller,Swift,Tableview,Uisearchcontroller,我是swift的初学者。我有一个包含TableView的ViewController let searchController = UISearchController(searchResultsController: nil) 我为搜索实现了UISearchController,并使用以下方法调用它: func search() { searchController.searchResultsUpdater = self searchController.h

我是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
}
我用一个BarButtonItem链接了方法search()。搜索字段弹出,但当我想用以下命令关闭它时:

    searchController.isActive = false

它没有关闭它。是否有特定的方法来执行此操作,或者我做错了什么。

您正在向视图中添加搜索栏,但没有删除它

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

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

searchController.isActive = false
userTableView.tableHeaderView = nil

我今天使用了
searchController.isActive=false
,效果很好吗?不,这没有任何作用。等等,你的意思是当你点击按钮时,它会将搜索栏添加到表视图中,但当你调用searchController.isActive=false时,它不会删除搜索栏吗?是的,没错。谢谢