1

我刚刚开始使用 IOS 5 和故事板进行 ios 开发,想知道如何解决以下问题:

我有一个树层次结构,其中产品是树的节点,产品是叶子。我创建了一个 TileViewController 视图来显示特定级别的所有节点。当用户在 TileView 中选择一个节点时,根据它的类型(叶子或非叶子),我要么将新的 TileViewController 推送到应用程序 NavigationController 中,要么显示一个 DetailViewController。

我目前所做的是以编程方式完成所有事情(我的意思是跟踪用户在 TileViewController 中单击的内容,并决定下一步在 NavigationController 中推送什么内容)。我掌握了情节提要,并在需要时使用下面的代码创建下一个 TileViewController。

UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
        TileViewController *controller =  [storyBoard instantiateViewControllerWithIdentifier:@"TileViewController"];
        controller.model = self.model;   
        [self.navigationController pushViewController:controller animated:YES];

我不知道如何使用故事板而不是 TileViewController 中的硬编码逻辑来实现这一点。这是可能吗?我考虑过使用单个 TileViewController 并根据用户选择重新加载显示的图块,但后来我丢失了导航部分。有什么想法我能做到这一点吗?

谢谢你。

4

1 回答 1

2

您可以从任何启动导航的 UI 组件定义一个转场,回到故事板中的同一场景 - 因此,如果它来自一个按钮,请从按钮向下按住 ctrl 并拖动到表示平铺视图控制器的黄色球体。

将此定义为 push segue,然后在 prepareForSegue 中传递相关细节。这将创建一个潜在的无限导航堆栈,而无需在情节提要中重复自己。

于 2012-05-26T16:09:42.627 回答