将导航控制器添加到UIViewController

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

现在,我试图找出如何应用我在教程中使用的方法,其中根视图具有标签栏控制器。

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

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

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

#import  @interface NavAppDelegate : NSObject  { 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... 

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

标准设置是这样的: UITabBarController是根控制器。 每个选项卡控制UIViewController UINavigationController ,后者又管理UIViewControllers

因此,您将UIViewControllersUINavigationControllers添加到标签栏项目。

因此,你问题的直接答案是: 。 你不能UINavigationController添加到你的UIViewController ,而是UIViewController