我正在尝试使用ViewControllers & Interface Builder中的NavigationControllers试图更好地理解什么与什么以及为什么相关......我正在困惑着我的一个场景。希望有人可以让我直...导航和视图控制器问题
说我开始你的典型的iPhone模板基于视图的应用程序,我显示视图控制器(viewController)处理的视图。然后,在某个事件发生后,我想用“典型的”基于导航的视图(rootVC)替换该视图。我想尽可能在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];
rootVC除了显示的viewController仍然有1保留计数?!?
此外,应该在哪里实例化rootVC的navigationController?从基于视图的模板开始,MainWindow.xib包含一个viewController对象(它有自己的ViewController.xib),一个appDelegate和一个UIWindow。我的RootVC.xib包含一个UITableView。我是否还需要另一个中间视图控制器,该控制器将具有另一个连接到UIWindow对象和UINavigationController的ApplicationDelegate对象?与IB的导航控制器对象一起的视图控制器将被设置为我的RootVC类?
对不起,冗长。我很难解释。因为IB中的一些对象是代理服务器,有些是“真实”的,所以在尝试“新”事情时,有时会令人困惑(对我来说)什么时候需要什么,&什么时候。基本上我想知道要设置一个导向另一个视图的方式,而不能回到第一个视图。第二视图基本上成为在许多方向产生的“主”根...
我个人更喜欢不使用IB for iPhone Dev,因为制作iPhone界面非常容易。 IB更适合制作复杂的用户界面(即在OS X上,而不是在iPhone上)。 – mk12 2009-11-20 22:45:39
@ Mk12:不要害怕Interface Builder:http://iphonedevelopment.blogspot.com/2009/10/dont-fear-interface-builder.html – 2009-11-20 22:53:27