iOS 6:如何从嵌入在导航控制器中的tableview内部转移到另一个VC?

时间:2012-10-14 03:02:57

标签: ios segue viewcontroller

我有一个带有“照片”按钮的初始“父菜单”视图控制器(更多按钮就像'事件'一样)。

从照片按钮我有一个简单的ctrl-drag segue到导航控制器,它有一个tableview作为它的第一个视图(专辑),集合视图(thumb),然后是imageview(fullsize)。

我遇到的问题是: 我希望能够从导航控制器后面的第一个表视图中回到最初的简单“父菜单”视图控制器。

我试过了:

  • 将一个按钮拖动到表格视图的顶部菜单栏区域(它被认为是UINavigationItem)并将一个segue拖回菜单...不起作用。
  • 从tableview菜单区域的按钮设置插座到其父视图并调用[self performSegueWithIdentifier:@“BackToMenu”sender:self];从那里,没有用。
  • 将一个按钮拖动到表格视图中作为最后一项,并按住Ctrl键将其拖动到菜单中:不起作用。
  • 尝试了一个从导航控制器回到菜单并手动调用的segue,但连接到“菜单”按钮的插座功能我拖到了桌面顶部后面,从来没有被击中。

我错过了什么?

我打算从多个按钮中的故事板菜单页面中输出一些导航控制器。

3 个答案:

答案 0 :(得分:0)

您可以在导航控制器后将“条形按钮项”拖动到第一个表视图的左侧。从那里,执行控制 - 从条形按钮项拖回到初始视图控制器,并选择“模态”segue。虽然这回答了你的问题,正如@jrturton在下面的评论中所说,这没有得到优化,因为它会创建一个新实例。

如果要以编程方式执行此操作(将返回到现有实例),请在表视图控制器上为Bar Button项创建IBAction。例如在iOS 6中:

-(IBAction)returnToParentMenu:(id)sender {
  [self dismissViewControllerAnimated:YES completion:nil];
}

或在iOS 5中:

-(IBAction)returnToParentMenu:(id)sender {
  [self dismissModalViewControllerAnimated:YES];
}

答案 1 :(得分:0)

你不需要这个。您可以在表视图中创建一个按钮,并将其链接到表视图中的一个动作,该动作将解除当前显示的视图控制器(我假设您的segue首先显示的是导航控制器堆栈是“模态”类型):

[self.navigationController dismissViewControllerAnimated:YES completion:nil];

或者,您可以查看“Unwind Segues”,但我还没有使用过这些,所以不想在此处提供详细信息。

答案 2 :(得分:0)

我最后做的是先将导航控制器放在任何东西之前然后我的菜单页面首先按下每个相应路径的按钮。

上面的内容:ctrl + drag没有从导航栏按钮起作用,完全爆炸。

我没有意识到我可以先从导航控制器转到常规视图控制器。我认为它需要首先进入表格视图,因为当你拖出导航时,它会与表格配对。

如果我在这个奇怪的论坛中有10多个'积分',我会发布故事板的屏幕截图。

全部谢谢