18

我正在开发的 iPad 应用程序使用 Storyboards 和 segues。当用户单击主视图中的不同单元格时,我试图显示不同的视图控制器。在参考了不同的教程后,所采取的步骤是 -

  • Storyboard, 中Master View Controller,为表格视图创建了静态单元格并添加了 3 个不同的行(即单元格 1、单元格 2、单元格 3)
  • 添加 a View Controller,选择它并附加 aNavigation Controller到它(Editor-> Embed In-> Navigation Controller
  • 从单元格 1 中Master View,我在Navigation Controller.
  • 选择Segue Style“替换”和Destination“详细拆分”
  • 在 tableView:didSelectRowAtIndexPath 中,添加了 [self performSegueWithIdentifier:@"NewViewController" sender:self] 来进行转换。

我看到的结果是详细视图被替换。

但导航栏没有栏按钮项Master

因此,我无法单击Master显示包含单元格的表格的按钮,我可以从中导航到不同的视图。

我已经阅读了许多博客并看到了有关替换 segue 以解决类似问题的评论。然而,似乎没有人在使用故事板和转场时遇到过这个特定问题。

根据我的理解,使用 segues 应该可以帮助我实现我想要的。从那些尝试过这种方法的人那里,任何指向正确方向的指针都会有所帮助。

4

1 回答 1

1

尝试将Segue Stylefrom更改ReplacePush. 它应该可以解决您的问题。

当您将 a 推入 aUIViewControllerUINavigationController,它将被添加到堆栈中,您将能够向后导航:

点击“详细信息”之前的导航控制器堆栈:

Master

点击详细信息并进行更多导航后,您的导航控制器...:

Master -> Detail (Navigation button is displayed) -> Some other details (Navigation button is displayed) -> And maybe some more (Navigation button is displayed)

Replace当您像以前一样使用调用新的 segue时,Master将替换为Detail,并且您将无法返回,因为 Master 已被替换并且它不再在堆栈中。

点击“详细信息”之前的导航控制器堆栈:

Master

像您一样使用替换点击详细信息后的导航控制器:

Detail (no navigation button because master was replaced and we don't have nothing more on the stack)
于 2015-06-17T08:47:59.700 回答