在视图控制器和表格视图控制器之间的导航控制器

问题描述:

关于如何在iOS7中在表格视图和视图控制器之间添加导航控制器的任何想法?在视图控制器和表格视图控制器之间的导航控制器

只要我将导航控制器嵌入到表格视图中,应用就会崩溃。

没有导航控制器,它工作正常。但是,然后表视图变成一个视图控制器。这是我使用的代码:

[self.navigationController performSegueWithIdentifier:@"setup" sender:self]; 

这是我的故事板:http://sv.tinypic.com/r/1ztdnb/8

+1

可能是你想达到什么更清楚了吗?你为什么要在这两个控制器之间使用'UINavigationController'?你是什​​么意思? – dariaa

+0

我虽然这是让表视图正常工作的方式吗?因为当我不使用嵌入导航控制器时,顶部栏消失在桌面视图上,它看起来像一个普通的视图控制器。你可以在这里看到我的故事板:http://sv.tinypic.com/r/1ztdnb/8 – user3380079

+0

啊哈,所以你实际上是'navigationBar'(顶部栏)显示在你的'TableViewController'中,但不能'LoginViewController',对吗?然后你为''LoginViewController'调用'[self.navigationController setNavigationBarHidden:NO animated:YES];''。这样它仍然会在导航堆栈中,但不会显示导航栏。 – dariaa

好吧,给这里的评论是什么,我想你想:

  • 一个LoginViewController这是一个UITableViewController的子类。不应该显示导航条。
  • A ProfileViewController也是UITableViewController的子类。应该显示一个navigationBar
  • 当用户点击LogIn按钮时,应该“推送”ProfileViewController

因此,整个技巧是让导航栏隐藏一个视图控制器,并为另一个可见。嗯,这是很容易实现 - 只需使用setNavigationBarHidden:animated:viewWillAppear:每个视图控制器

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 

    [self.navigationController setNavigationBarHidden:YES/NO animated:animated]; 
} 
+0

感谢它工作:))) – user3380079