使用addChildViewController将UINavigationController添加到根UIViewController

时间:2013-05-21 17:58:40

标签: ios uiviewcontroller uinavigationcontroller hierarchy

我想要做的是有一个根视图控制器来管理我的应用程序的基本视图,然后使用iOS 5+包含API addChildViewController()将UINavigationViewController(带有自己的视图控制器堆栈)添加到该视图控制器。

编辑:基本视图控制器的目的是控制整个应用程序中一致背景的动态视图。涉及动画,因此实际背景视图需要在每个视图中保持不变。

我的问题是,这是否是最佳实践以及Apple批准的完成此类设计的方法?我在研究中一直在阅读相互矛盾的建议,并希望确保我的应用程序不会被拒绝。

以下是我的AppDelegate中的代码,它显示了我要做的事情:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{    
   BaseViewController * base = [[BaseViewController alloc] init];

   PlayerViewController * player = [[PlayerViewController alloc] init];
   UINavigationController * nav = [[UINavigationController alloc] initWithRootViewController:player];
   [nav setNavigationBarHidden:YES];

   [base addChildViewController:nav];
   [base.view addSubview:nav.view];

   [self.window setRootViewController:base];
   [self.window makeKeyAndVisible];

   return YES;
}

感谢您的帮助。

0 个答案:

没有答案