如何隐藏弹出的 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的主要内容,如果未能解决你的问题,请参考以下文章