2012-11-19 62 views
0

的餐厅我的故事板的布局是这样的:如何退出导航控制器?

主视图控制器>导航控制器>表视图控制器> 3个独立的表视图

的主视图控制器去几个不同的视图控制器,所以我需要定期回到它。表视图控制器控制3个不同的菜单表单视图。在导航控制器中拥有表视图控制器允许后退按钮退出3个独立表视图,但我无法弄清楚如何从桌面视图控制器获取后退按钮到主视图控制器。

到目前为止,我已经在故事板GUI中完成了所有这些工作,所以如果修复可以在那里排序,那么对我来说最容易理解。

回答

1

为什么不把导航控制器作为主视图控制器的一部分?然后当你推动表视图控制器时,你会得到一个后退按钮。所以它会是导航控制器 - >主视图控制器 - >表视图控制器 - > ...

我已经做了这个故事板在导航控制器场景是第一,然后与根视图控制器的关系是主视图控制器

+0

嗯,这工作,但有一个问题。我需要在导航控制器中打开顶部栏来获取表格视图控制器中的导航栏,但我不想在具有自定义布局的主视图控制器上看到它。在视图设置中关闭顶部栏不会隐藏该屏幕。 –

+0

我认为在这种情况下,如果你不想在那里看到它,你可以从你的主视图控制器调用'[self.navigationController setNavigationBarHidden:YES animated:NO];'viewWilAppear'。 – foggzilla

3

如果您不想将导航控制器放置在主视图控制器之前,则可以使用“放松搜索”。

创建IBAction为方法来执行主视图控制器内部的退绕SEGUE:

PrimaryVC.h

- (IBAction)unwound:(UIStoryboardSegue *)segue; 

PrimaryVC.m

- (IBAction)unwound:(UIStoryboardSegue *)segue 
{ 
    // No need to do anything here... 
} 

在第一表视图控制器,将一个栏按钮项目拖到导航项目(栏)的左上角。一旦它在那里,按住控制键并从栏按钮向下拖动到场景的底部,您会看到一个绿色的退出图标。 unwound:方法应显示在列表中...选择该方法。现在

unwind segue

您的按钮应该返回到主视图控制器。