2017-10-18 156 views
1

我已經通過我的代碼幾次,我似乎無法找到答案。所以我有一個視圖控制器,並在該視圖控制器中,我有一個搜索欄。當我在搜索欄中輸入表格視圖時。表格視圖來自另一個稱爲ResultsViewController的視圖控制器,並且搜索結果tableview被放置在搜索欄的正下方,這非常完美。如何設置導航欄

let locationSearchTable = UIStoryboard(name: "MainPage", bundle: nil).instantiateViewController(withIdentifier: "ResultsViewController") as! ResultsViewController 
searchController = UISearchController(searchResultsController: locationSearchTable) 
searchController?.searchResultsUpdater = locationSearchTable 

但我的問題是,當我點擊表視圖的細胞,它塞格斯爲detailedViewController,並失去其導航欄:

enter image description here

這是detailedViewController檢查員屬性: enter image description here

我不確定什麼是錯誤的,因爲我可以繼續從其他視圖控制器的detailedViewControllerenter image description here enter image description here

+0

**當我在搜索欄鍵入一個表視圖來了**這的tableView怎麼來了?你使用presentViewController嗎? – Surjeet

+0

@Krunal我更新了它 – juelizabeth

+0

@Sjejeet沒有我使用的代碼在我的問題 – juelizabeth

回答

0

您的詳細信息視圖控制器有故事板segue連接的問題。

確保以下幾點:

  • 你導航控制器嵌入在表視圖列表控制器
  • 從「TableViewCell」
  • 刪除賽格瑞連接,並與視圖控制器連接(視圖控制器>> Segue公司>>查看控制器)
  • 你賽格瑞被連接作爲「推」不存在

下面是示例快照,示出具有連接賽格瑞型導航欄:

enter image description here

現在,以保證導航控制器,改變你的SEGUE實物看到:

enter image description here

+0

這就是我所做的。我也很困惑,因爲我已經從其他多個viewController中查找到detailViewController,並且它不會丟失其導航欄 – juelizabeth

+0

要確保導航控制器,請更改您的segue種類以便推送和查看。 – Krunal

+0

它會執行推送導航或您的應用程序崩潰 – Krunal

0

確保您的導航控制器欄不隱藏。

//迅速3

override func viewWillAppear(animated: Bool) { 
    self.navigationController?.setNavigationBarHidden(false, animated: animated) 
    } 

// SWIFT 2

override func viewWillAppear(animated: Bool) { 
    self.navigationController?.isNavigationBarHidden = false 
}