UINavigationController& “不支持推送导航控制器”例外?

时间:2012-07-23 21:16:30

标签: ios uinavigationcontroller

我试图通过Appress重做如何从Beginning iPhone Development 创建基于UINavigationController的应用程序的示例。

我遇到以下异常:

Exception: Pushing a navigation controller is not supported
Exception: [NSException]:Pushing a navigation controller is not supported
ex.name:'NSInvalidArgumentException'
ex.reason:'Pushing a navigation controller is not supported'

当用户尝试推送已经在堆栈中的视图时会发生这种情况,在我的情况下不是这样。

My_3AppDelegate.h

IBOutlet UINavigationController * navController; 
@property (nonatomic, retain)    UINavigationController * navController;

My_3AppDelegate.m

[window addSubview: navController.view]; 

MainWindow.xibUINavigationController添加到连接到插座的窗口。

我的代码中唯一的区别是RootViewController不是UITableViewController的子类。只有UIViewController只有2 UIbutton s。

FirstViewController *fv = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
fv.navigationItem.title=@"First View Controller";
[self.navigationController pushViewController:fv animated:NO];
[fv release];

首次运行应用程序时会发生错误,这确保了不是这样,视图已经添加到堆栈中,我正在尝试准备好。

这是一个非常简单的教程应用程序,我被困住了,我不知道为什么?

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我通过将UINavigationCotroller中的超类改为UIViewController解决了同样的问题。