2015-05-23 94 views
5

我想在導航欄中有一個UISearchController並將結果顯示在外部控制器中。導航欄消失在搜索結果表視圖

出於某種原因,在導航欄上立即消失,因爲我鍵入

我一直在努力了沒有結果的幾個小時不同的解決方案。它看起來像是與Navigation bar disappears when typing in UISearchController text fieldNavigation bar disappears if reload data with UISearchController類似的問題,它沒有得到任何答案。

self.cearchController = ({ 
     //creating another tableview 
     let storyBoard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle()) 
     let alternateController:SearchResultsTableViewController = storyBoard.instantiateViewControllerWithIdentifier("SearchResultsTableViewController") as! SearchResultsTableViewController 
     let controller = UISearchController(searchResultsController: alternateController) 
     controller.hidesNavigationBarDuringPresentation = false 
     controller.dimsBackgroundDuringPresentation = false 
     controller.searchResultsUpdater = alternateController 
     controller.searchBar.sizeToFit() 
     controller.searchBar.placeholder = "Search" 

     self.navigationItem.titleView = controller.searchBar 


     return controller 
    })() 

我已經試過 self.navigationController?.setNavigationBarHidden(true, animated: false)

,我有 myResultsTableView.definesPresentationContext = true

在viewDidLoad中

這是什麼樣子: <>

:我幾天前纔開始使用swift,所以我可能會錯過一些非常明顯的東西!

感謝,並高興地添加更多的代碼

+0

你可以檢查鍵盤出現時,是否是?使用此:navigationController?.hidesBarsWhenKeyboardAppears = false //此外,請檢查此鏈接http://natashatherobot.com/navigation-bar-interactions-ios8/ – SKYnine

+0

同樣的問題在這裏 – malhal

+0

您是否找到解決問題的方法?我面臨類似的問題,找不到它的根本原因。 – Siddhesh

回答

0

所以我不得不導航欄消失的一個類似的問題時,均表現我的搜索結果。但controller.hidesNavigationBarDuringPresentation = false爲我做了詭計。

也許嘗試使用tableView.tableHeaderView = searchController.searchBar而不是self.navigationItem.titleView = controller.searchBar