我已将搜索栏添加到导航栏标题 View 中,当我开始搜索 UITableViewController 隐藏导航栏时,如何在导航栏下方获取 UITableViewController。
Before Searching
After Typing
Code
let resultController = mainStoryboard.instantiateViewControllerWithIdentifier("SearchTableViewController") as! UITableViewController
self.searchController = UISearchController(searchResultsController: resultController)
// self.searchController.searchResultsUpdater = self
// self.searchController.delegate = self
// self.searchController.searchBar.delegate = self
self.searchController.searchBar.tintColor = UIColor.whiteColor()
self.searchController.searchBar.placeholder = "Search Outlets"
self.searchController.dimsBackgroundDuringPresentation = false
self.searchController.hidesNavigationBarDuringPresentation = false
最佳答案
据我所知,您的 View Controller 没有设置 definesPresentationContext
属性。如果不设置这个,必然会发生奇怪的事情。尝试像这样更新您的代码:
let resultController = mainStoryboard.instantiateViewControllerWithIdentifier("SearchTableViewController") as! UITableViewController
self.searchController = UISearchController(searchResultsController: resultController)
//self.searchController.searchResultsUpdater = self
//self.searchController.delegate = self
//self.searchController.searchBar.delegate = self
self.searchController.searchBar.tintColor = UIColor.whiteColor()
self.searchController.searchBar.placeholder = "Search Outlets"
self.searchController.dimsBackgroundDuringPresentation = false
self.searchController.hidesNavigationBarDuringPresentation = false
self.definesPresentationContext = true
最后一行是我添加的行。当我在自己的应用程序中测试这一点时,未指定这一行导致了您所看到的行为。
关于ios - UITableViewController隐藏导航栏[搜索栏],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38955822/