我正在嘗試使用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