我只是想在带有故事板的呈现模态控制器上添加导航栏(带有一些导航栏按钮)。
以编程方式使用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,我真的不知道如何做到这一点。
有什么想法吗?
答案 0 :(得分:3)
只有在想要将一些数据传递给您呈现的视图控制器时,才必须实现segue的准备。否则你可以把它留空。视图控制器的呈现来自Interface Builder。您使用它的根视图控制器添加导航控制器并对导航控制器进行segue(ctrl + drag)。将segue类型设置为modal,并为其指定ID。您可以通过调用[self perforSegueWithIdentiefier:@"MySegueID"];
从代码中触发此segue。如果您从按钮或表视图单元格中拖动segue,则在您点击它时将自动触发它,而不调用此方法。正如我所说,在prepareForSegue
方法中,segue.destinationViewController
将成为呈现的导航控制器。如果需要,您可以访问topViewController
并将一些数据传递给它。