将导航控制器添加到UIViewController

时间:2011-08-15 21:06:54

标签: iphone objective-c ios

我刚刚完成了一个关于如何从基于Window的应用程序项目开始创建导航控制器的教程。

现在,我正在尝试使用具有标签栏控制器的根视图来弄清楚如何应用我在教程中使用的方法。

我已经设置了一个标签栏控制器,再次使用基于窗口的应用程序项目,并添加了四个链接到各自的UIViewController类/ nib的标签栏项。

我是否可以像使用基于窗口的教程一样将导航控制器添加到UIViewController类中?

以下是我自己创建导航控制器的方法:

#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...

1 个答案:

答案 0 :(得分:10)

UINavigationControllerUITabBarController都是控制器控制器,即他们管理多个UIViewControllersUIViewControllers反过来管理视图。所以你的问题的标题确实需要修改。

标准设置如下:UITabBarController是根控制器。每个标签控制 一个UIViewController 一个UINavigationController,后者又管理UIViewControllers

因此,您可以在标签栏项目中添加UIViewControllersUINavigationControllers

因此,您问题的直接答案是:。您无法UINavigationController添加UIViewController,反之亦然。