UISearchController 不使用导航控制器
Posted
技术标签:
【中文标题】UISearchController 不使用导航控制器【英文标题】:UISearchController without use of Navigation Controller 【发布时间】:2016-10-30 11:41:33 【问题描述】:是否可以在Navigation Controller
中不显示SearchBar
的情况下使用UISearchController
?我基本上希望SearchBar
留在屏幕上并在其下方显示 TableView:
我试图做的是:
我在情节提要上创建了一个UITableViewController
并将其链接到自定义NPTableViewController
类。然后我这样做了:
let resultsTable = storyboard!.instantiateViewController(withIdentifier: "LocationSearch") as! NPTableViewController
searchController = UISearchController(searchResultsController: resultsTable)
searchController?.searchResultsUpdater = resultsTable
let searchBar = searchController!.searchBar
searchBar.sizeToFit()
searchBar.placeholder = "Search for places"
searchBar.frame.origin.y = 100.0
self.view.addSubview(searchBar)
现在当我运行它时,会显示searchBar
,但是当我点击它时,背景会变暗,searchBar
会消失,我的resultsTable
也不会显示。
【问题讨论】:
***.com/questions/30851467/… @Joe 但是如果没有 TableView 本身,我应该如何显示 tableViewHeader? 没人知道吗? Prevent UISearchController from hiding the navigation bar 【参考方案1】:我想出的解决方案其实很简单。我没有使用UISearchController
,而是使用了普通的UISeachBar
和UITableView
。由于UISearchController
对您的帮助不大,所以如果我构建自己的 SearchController,工作几乎是一样的。
【讨论】:
以上是关于UISearchController 不使用导航控制器的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 UISearchController 使导航栏保持可见?
如何防止 UISearchController 显示导航栏?
如何使用代码将 UISearchController Searchbar 放到导航栏上
如何在使用 popViewControllerAnimated(true) 导航出 UITableView 时修复 UISearchController 的警告
definePresentationContext 应设置为 YES,但在与 UISearchController 结合使用时会中断导航