2011-08-15 11 views
0

ウィンドウベースのアプリケーションプロジェクトから始まるナビゲーションコントローラーの作成方法に関するチュートリアルを進めました。ナビゲーションコントローラーをUIViewControllerに追加

ここでは、チュートリアルで使用した方法をタブバーコントローラを持つルートビューで適用する方法を理解しようとしています。

私は、ウィンドウベースのアプリケーションプロジェクトを使用してタブバーコントローラをセットアップし、対応するUIViewControllerクラス/ nibにリンクされた4つのタブバーアイテムを追加しました。

ウィンドウベースのチュートリアルで行ったようなnavコントローラをUIViewControllerクラスに追加できますか?ここ

私はそれ自体でNAVコントローラを作成する方法である:

#import <UIKit/UIKit.h> 

@interface NavAppDelegate : NSObject <UIApplicationDelegate> { 
    UIWindow *window; 
    UINavigationController *navController; 
} 

@property (nonatomic, retain) IBOutlet UIWindow *window; 
@property (nonatomic, retain) IBOutlet UINavigationController *navController; 

@end 




#import "NavAppDelegate.h" 

@implementation NavAppDelegate 

@synthesize window; 
@synthesize navController; 

#pragma mark - 
#pragma mark Application lifecycle 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

    // Override point for customization after application launch. 
    [self.window addSubview:navController.view]; 
    [window makeKeyAndVisible]; 

    return YES; 
} 



etc... 
+0

Interface Builderにアクセスし、タブバーコントローラを確認します。そこには4つのタブがあり、各タブにはおそらくビューコントローラがあります。ビューコントローラを持つ代わりに、ナビゲーションバーをタブバーの上にドラッグして、以前のビューコントローラを削除してみてください。これで、ナビゲーションコントローラーの中にビューコントローラーがあるはずです。 – simonbs

答えて

10

UINavigationControllerUITabBarController両方、すなわち、それらが複数UIViewControllersを管理する、コントローラのコントローラです。 UIViewControllersはビューを管理します。あなたの質問のタイトルに改訂が必要です。

標準設定は次のとおりです。UITabBarControllerはルートコントローラです。各タブはを制御します。UIViewControllerまたは a UINavigationControllerがあり、順番にUIViewControllersを管理します。

したがって、UIViewControllersまたはUINavigationControllersをタブバーの項目に追加します。

このように、質問への直接的な回答は、です。あなたできませんUIViewControllerUINavigationControllerを追加しますが、逆の方法です。

+1

okだから、UINavigationControllerでUIViewControllerクラスを変更しました。ありがとう! – Adam

+0

しかし待って...私のペンで私のクラスから私のnavコントローラにコンセントをセットアップする必要がありますか? – Adam

+0

IBでnavコントローラオブジェクトを直接追加し、適切なビューコントローラにリンクすることができます。正確には 'IBOutlet'ではありません。 – Mundi

関連する問題