2011-11-01 7 views
0

私はViewControllerの基本的な概念を理解しようとしています。私の目的のためには、私はXIBを(モーダルではなく)切り替える必要がありますが、メモリを節約するためには完全に切り替える必要があります。基本的には、別のXIBを呼び出してその関数を使用し、そのXIBのボタンを押して、別のXIBをロードします。RootViewControllerを別のXIBに変更するにはどうすればよいですか?

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

上記のコードでは、サブビューをモーダルに追加することがわかりました。誰かが私がこれを達成する方法の正しい方向に私を導くことができますか?

これはiPad用の書籍です。

答えて

2

アップルのView Controller Programming Guide for iOSを読んで、View Controllerの目的を確実に理解することをお勧めします。

簡単な概要として、View Controllerは通常、電話機サイズのデバイス上の単一の「スクリーンスルー」コンテンツ、またはiPad上の複数のView ControllerをiPad上で使用できるため、iPad上の画面の一部を管理します。例えばUISplitViewController。 iPad上で全画面表示のコントローラ間でアニメーションを作成する場合は、UINavigationControllerを使用して、View Controllerの階層を管理します。 UIViewUIViewControllerのいずれかで、GoToPageが継承するものについては言及していません。あなたの場合、それはUIViewControllerのサブクラスでなければなりません。

UINavigationControllerを使用すると、複数のUIViewControllerサブクラスを管理しながら、階層を維持しながらユーザが前のビューコントローラに戻ることができるようになります。 -pushViewController:animated:を使用して、ビューコントローラのサブクラスの新しいインスタンスをナビゲーションコントローラのビューコントローラスタックにプッシュし、ナビゲーションバックはほとんどの場合UINavigationControllerによって自動的に処理されます。

XIBは、ユーザー定義コードではなく、ユーザーインターフェイスを単にカプセル化します。 XIBのファイル所有者プロキシはUIViewControllerサブクラスに設定する必要があります。サブクラスのIBOutletおよびIBActionプロパティを使用して、XIBのインターフェイス要素とUIViewControllerサブクラスのコード間のギャップを埋めることができます。

最後に、iOS 5.0のみをターゲットにしている場合は、UIPageViewControllerを調べることをおすすめします。複数のView Controllerを管理し、iBooksのようなページめくりアニメーションでそれらの間を移行できます。しかし、まずは、View Controllerプログラミングガイドを読んでください。1

関連する問題