我正在使用didDeselectRowAtIndexPath
来浏览不同的故事板,如:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let story = ["News","Video","Twitter","Request Info","More"]
let vc = self.storyboard?.instantiateViewControllerWithIdentifier(story[indexPath.row]) as NewsFeedTableViewController
self.presentViewController(vc, animated: true, completion: nil)
}
但是,当我使用此功能时,Navigation Bar
不显示。但是,当我使用segue时,Navigation Bar
显示出来。
现在的问题是:
Cells
tableView
无法超过1个故事板
Segue
)通过这个解决方案吗?
答案 0 :(得分:2)
您正在使用presentViewController
,这就是您没有获得NavigationBar的原因,它以模态方式呈现视图。而不是像pushViewController
那样:
self.navigationController?.pushViewController(vc, animated: true)
可能在您的故事板中,segue类型为push
,这就是您获取导航栏的原因。
您可能对以下内容感兴趣:
答案 1 :(得分:0)
您正在展示下一个视图控制器,而不是推动它。 (至少在案例1中)所以你有一个模态链接而没有导航控制器!
您可以使用.pushViewController
或只使用performSegue
,并确保您的segue类型为push
。我会选择performSegue
并更改每个switchcase中的identifier
名称。
您仍然可以在prepareForSegue
答案 2 :(得分:-1)
最好在didSelectRow中调用performSegue。并在perpareSegue方法中执行操作。