如何隐藏弹出的 UISearchController

Posted

技术标签:

【中文标题】如何隐藏弹出的 UISearchController【英文标题】:How to hide the popped 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 时它不会删除搜索栏? 是的,没错。谢谢! 【参考方案1】:

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

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

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

searchController.isActive = false
userTableView.tableHeaderView = nil

【讨论】:

以上是关于如何隐藏弹出的 UISearchController的主要内容,如果未能解决你的问题,请参考以下文章

如何隐藏按下音量增大/减小按钮时弹出的消息

如何在Android中判断软键盘是不是弹出或隐藏

如何在Android中判断软键盘是不是弹出或隐藏

Android - 隐藏EditText弹出的软键盘输入(SoftInput)

android studio 点击布局文件隐藏弹出的键盘。

如何使WPF弹出式窗口不被隐藏在主应用程序