如何退出导航控制器?

时间:2012-11-19 21:26:20

标签: ios xcode uinavigationcontroller uinavigationbar

我的餐厅故事板布局如下:

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

主视图控制器转到几个不同的视图控制器,因此我需要定期返回它。 Table View Controller为不同的菜单控制3个独立的表视图。在导航控制器中使用表视图控制器允许后退按钮退出3个单独的表视图,但我无法弄清楚如何从表视图控制器获取后退按钮到主视图控制器。 / p>

到目前为止,我已经在故事板GUI中完成了这一切,因此如果修复程序可以在那里进行排序,那么我最容易理解。

2 个答案:

答案 0 :(得分:3)

如果您不想将导航控制器放在主视图控制器的前面,可以使用“展开segue”。

创建一个IBAction方法以在主视图控制器中执行展开segue:

PrimaryVC.h

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

PrimaryVC.m

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

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

unwind segue

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

答案 1 :(得分:1)

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

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