2016-08-15 194 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 

最後一行是我添加的行。當我在一個我自己的應用程序中測試這個時,沒有指定這行代碼導致了你所看到的行爲。