2016-08-15 55 views
2

ナビゲーションバーのタイトルビューに検索バーを追加しました。検索を開始すると、ナビゲーションバーが非表示になります。どのようにしてナビゲーションバーの下にUITableViewControllerが表示されますか?UITableViewControllerがナビゲーションバーを隠す[検索バー]

After Typing

コードを入力した後

Before Searching

を検索する前に

 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 

最後の行は、私が追加した行です。私が自分のアプリケーションでこれをテストしたとき、この行を指定しないと、あなたが見ている動作が発生しました。

関連する問題