Iphone 设置不带应用程序委托的导航控制器

Iphone 设置不带应用程序委托的导航控制器,iphone,uinavigationcontroller,Iphone,Uinavigationcontroller,我想在单击按钮后显示导航控制器。每个教程都假设导航控制器将是第一个屏幕,因此它将其链接到应用程序代理,但应用程序代理仅显示在MainWindow.xib上。 你们如何将导航控制器添加到与主窗口不同的视图中 谢谢 UINavigationController是使用UIViewController导航视图的继承者。如果您没有根UIViewController,它将无法工作(并且没有意义)。如果您确实有UIViewController,只需向传入UIViewController的新导航控制器发送一条-

我想在单击按钮后显示导航控制器。每个教程都假设导航控制器将是第一个屏幕,因此它将其链接到应用程序代理,但应用程序代理仅显示在MainWindow.xib上。 你们如何将导航控制器添加到与主窗口不同的视图中


谢谢

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

UINavigationController将使用UIViewController导航视图的继承权。如果您没有根UIViewController,它将无法工作(并且没有意义)。如果您确实有UIViewController,只需向传入UIViewController的新导航控制器发送一条
-(id)initWithRootViewController:(UIViewController*)rootViewController
init消息。

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

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

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

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