2011-11-01 40 views
0

我想了解ViewControllers的基本概念。爲了我的目的,我需要切換XIB(不是模態),但完全是爲了節省內存。基本上我想調用另一個XIB並使用它的功能,然後通過按下該XIB上的按鈕,加載另一個XIB。如何將RootViewController更改爲另一個XIB?

-(IBAction)GoToPage:(id)sender 
{ 
    GoToPage *gotopage = [[[GoToPage alloc] init] autorelease]; 
    [self presentModalViewController:gotopage animated:YES]; 
} 

我知道上面的代碼只是模態地添加子視圖。有人能帶領我如何實現這一目標的正確方向嗎?

這是一本iPad的書。

回答

2

我建議您閱讀Apple的View Controller Programming Guide for iOS,以便深入瞭解視圖控制器的用途。

作爲一個快速概述,視圖控制器通常負責管理手機大小的設備上的單個「屏幕」內容或iPad上屏幕的一部分,因爲可以在iPad上使用多個視圖控制器,例如UISplitViewController。如果您想在iPad上的全屏視圖控制器之間進行動畫製作,則可以使用UINavigationController,它可以管理視圖控制器的層次結構。您沒有提及GoToPage從哪裏繼承,無論是UIView還是UIViewController。在你的情況下,它應該是UIViewController的一個子類。

使用UINavigationController將允許您管理多個UIViewController子類,同時保持層次結構良好,以便用戶可以導航回到先前的視圖控制器。您可以使用-pushViewController:animated:將視圖控制器子類的新實例推送到導航控制器的視圖控制器堆棧上,在大多數情況下,導航回自動由UINavigationController自動處理。

XIB簡單地封裝了用戶界面,而不是任何用戶定義的代碼。 XIB的文件所有者代理應設置爲UIViewController的子類,它允許您通過使用子類的IBOutletIBAction屬性來彌合XIB上的界面元素與UIViewController子類中的代碼之間的差距。

最後,如果您只是定位iOS 5.0,我建議您查看UIPageViewController,它管理多個視圖控制器,並允許您使用類似iBooks的翻頁動畫在它們之間切換。首先並且最重要的是,通讀視圖控制器編程指南1

相關問題