Iphone 导航和视图控制器问题

Iphone 导航和视图控制器问题,iphone,cocoa-touch,uiviewcontroller,uinavigationcontroller,Iphone,Cocoa Touch,Uiviewcontroller,Uinavigationcontroller,我正在尝试在Interface Builder中使用ViewController和NavigationController,试图更好地了解与什么相关的内容以及原因。。。我正在为一个让我困惑的场景而挣扎。希望有人能纠正我的错误 假设我从典型的iPhone模板基于视图的应用程序开始,显示一个由视图控制器viewController处理的视图。然后在某个事件之后,我想用一个典型的基于导航的视图替换该视图。我希望在IB中创建尽可能多的视图。我的问题涉及如何显示rootVC和删除以前的viewContro

我正在尝试在Interface Builder中使用ViewController和NavigationController,试图更好地了解与什么相关的内容以及原因。。。我正在为一个让我困惑的场景而挣扎。希望有人能纠正我的错误

假设我从典型的iPhone模板基于视图的应用程序开始,显示一个由视图控制器viewController处理的视图。然后在某个事件之后,我想用一个典型的基于导航的视图替换该视图。我希望在IB中创建尽可能多的视图。我的问题涉及如何显示rootVC和删除以前的viewController的所有痕迹,因为用户永远不需要返回,以及在IB中的navController中连接到哪里/如何连接。目前,当显示rootVC时,我在我的viewController中执行以下操作:

RootVC *rvc = [[RootVC alloc] initWithNibName:@"RootVC" bundle:nil];
[rvc.view setFrame:[[UIScreen mainScreen] applicationFrame]];

ViewTestAppDelegate *appDelegate = (ViewTestAppDelegate *)[[UIApplication sharedApplication] delegate];
self.rootVC = rvc;
[rvc release];
[appDelegate.viewController.view removeFromSuperview];
[appDelegate.window addSubview:rootVC.view];
[appDelegate.viewController release];
除了viewController之外,rootVC显示的保留计数仍然为1

另外,rootVC的navigationController应该在哪里实例化?从基于视图的模板开始,MainWindow.xib包含viewController的一个对象,该对象具有自己的viewController.xib、appDelegate和UIWindow。我的RootVC.xib包含一个UITableView。我是否还需要另一个中间视图控制器,该控制器将具有另一个ApplicationLegate对象,我将其连接到UIWindow对象和UINavigationController?IB的导航控制器对象附带的视图控制器将被设置为my RootVC类


对不起,说得太多了。我很难解释。因为IB中的某些对象是代理,而某些对象是真实的,所以在尝试新事物时,有时会让我感到困惑,比如需要什么,在哪里和什么时候。基本上,我想知道如何设置一个视图到另一个视图,而不必返回到第一个视图。第二视图基本上变成了从多个方向派生的主根视图…

我建议使用基于导航的iPhone应用程序模板,并在根视图的顶部将一次性视图显示为模式视图。

我可以通过在主窗口nib中放置对viewController的引用,然后将navigationController和rootVC添加到UIWindow后自动释放viewController。在此过程中,我还学到了一两件关于IB的事情。非常强大…

我个人不喜欢在iPhone开发中使用IB,因为制作iPhone UI非常容易。IB更适合制作复杂的UI,即在OS X上,而不是在iPhone上。@Mk12:不要害怕界面生成器: