如何设置导航栏

时间:2017-10-18 14:48:18

标签: ios swift uitableview firebase

我已经完成了几次代码,但我似乎无法找到答案。所以我有一个视图控制器,在那个视图控制器中,我有一个搜索栏。当我在搜索栏中输入时,会出现一个表格视图。表视图来自另一个名为ResultsViewController的viewcontroller,搜索结果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

2 个答案:

答案 0 :(得分:0)

您的详细信息视图控制器在故事板segue连接方面存在问题。

确保以下几点:

  • 您的表视图列表控制器中嵌入了导航控制器
  • 从' TableViewCell'删除segue连接并将其与View控制器连接(ViewController>> Segue>> View Controller)
  • 您的segue是作为“推送”连接的。不存在

以下是示例快照,显示了带有segue连接类型的导航栏:

enter image description here

现在,要确保导航控制器,请将您的segue类型更改为推送,然后查看:

enter image description here

答案 1 :(得分:0)

确保未隐藏导航控制器栏。

// swift 3

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

// swift 2

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