Uitavbarcontroller之前的UINavigationController

时间:2012-02-16 12:48:04

标签: controller navigation tabbar

我希望在实际的标签栏控制器流启动之前有一个导航控制器注册流程。现在我已经创建了两个不同的应用程序和两个代表。

我认为可以首先加载我的注册导航控制器xib流,然后在注册完成后关闭它并加载标签栏控制器。

我认为这可以在单个应用程序委托中完成,但是不能完全调出代码来调用导航控制器流程,完成后单击按钮会加载tabbar flow / xib

1 个答案:

答案 0 :(得分:0)

事实证明这并不难,只需要了解一些简单的事情。

首先,如果您要创建TabBar控制器,TabBar控制器将始终必须是根视图。一旦你知道这一点,下一步就是看看TabBar控制器首先调用哪个视图或xib。

一旦您知道这一点,请转到视图或xib的视图控制器代码。在该代码中创建函数

- (void) viewDidAppear:(BOOL)animated{
}

在上述功能中,您可以注入导航视图,但首先您必须告诉导航视图您想要显示的第一个视图,如下所示:

PersonalInfoVC *personalInfoVC = [[PersonalInfoVC alloc] initWithNibName:@"PersonalInfoVC" bundle:nil];
UINavigationController *navController  = [[UINavigationController alloc]  
                                           initWithRootViewController:personalInfoVC];
[self.tabBarController presentModalViewController:navController animated:YES];

然后在每个视图中调用下一个视图使用这样的代码:

DepositDetailsVC *depositDetailsVC = [[DepositDetailsVC alloc] initWithNibName:@"DepositDetailsVC" bundle:nil];
[self.navigationController pushViewController:depositDetailsVC animated:YES];

最后,当您完成注入导航控制器的流程后,运行此代码以返回到原始TabBar控制器

[self.navigationController dismissModalViewControllerAnimated:YES];

够容易。 :)