设置没有应用程序委托的导航控制器

时间:2009-04-25 15:53:07

标签: iphone uinavigationcontroller

我想在点击按钮后显示导航控制器。每个教程都假定导航控制器将是第一个屏幕,因此它将其链接到App Delegate,但App委托只出现在MainWindow.xib中。 你们如何为不同于MainWindow的视图添加导航控制器?

谢谢!

2 个答案:

答案 0 :(得分:5)

以下是一些扩展Roger答案的示例代码。以下方法链接到当前视图控制器上的某些用户交互(例如,撰写电子邮件)。这将为撰写视图提供顶部的导航栏,而不是自定义视图中的编码按钮。

-(void) composeButtonPushed: (id) sender {
    ComposeViewController *controller = [[ComposeViewController alloc] initWithNibName:@"ComposeView" bundle:nil];
    UINavigationController *composeNavController = [[UINavigationController alloc] initWithRootViewController:controller];
[self presentModalViewController:composeNavController animated:NO];
}

答案 1 :(得分:0)

UINavigationController是使用UIViewControllers导航视图的层次结构。如果您没有根UIViewController,它将无法工作(并且没有意义)。如果您有UIViewController,只需向传入UIViewController的新导航控制器发送- (id)initWithRootViewController:(UIViewController *)rootViewController init消息。