ios - 带故事板的模拟控制器上的导航栏

时间:2013-01-03 23:25:15

标签: ios uinavigationcontroller storyboard modal-dialog segue

我只是想在带有故事板的呈现模态控制器上添加导航栏(带有一些导航栏按钮)。

以编程方式使用XIB,它看起来像是:

SDMapController *mapController = [[SDMapController alloc] initWithNibName:@"SDMapController" bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:mapController];

[self presentModalViewController:navigationController animated:YES];

但我不知道如何使用Storyboard处理它。我想我必须在-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender方法上实现一些代码,但由于destinationController对象的segue属性是readonly,我真的不知道如何做到这一点。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

只有在想要将一些数据传递给您呈现的视图控制器时,才必须实现segue的准备。否则你可以把它留空。视图控制器的呈现来自Interface Builder。您使用它的根视图控制器添加导航控制器并对导航控制器进行segue(ctrl + drag)。将segue类型设置为modal,并为其指定ID。您可以通过调用[self perforSegueWithIdentiefier:@"MySegueID"];从代码中触发此segue。如果您从按钮或表视图单元格中拖动segue,则在您点击它时将自动触发它,而不调用此方法。正如我所说,在prepareForSegue方法中,segue.destinationViewController将成为呈现的导航控制器。如果需要,您可以访问topViewController并将一些数据传递给它。