2016-08-15 184 views
2

我已经添加搜索栏导航栏标题视图,当我开始搜索UITableViewController隐藏导航栏如何获得导航栏下方的UITableViewController。UITableViewController隐藏导航栏[搜索栏]

之前搜索

Before Searching

键入之后

After Typing

代码

 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 

回答

4

至于我可以告诉你的视图控制器没有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 

最后一行是我添加的行。当我在一个我自己的应用程序中测试这个时,没有指定这行代码导致了你所看到的行为。