如何在不使用UINavigationController的情况下交换window.rootViewController?

时间:2013-12-19 13:15:44

标签: ios objective-c uiviewcontroller

在我设置AppDelegate的{​​{1}}中,我们将其称为 VC ,作为我的应用的UIViewController

rootViewControlloer

屏幕上显示 VC 后,它会向用户提出几个问题,以便在实际使用之前更好地配置应用。

一旦我知道用户想要什么,我需要将 VC -(BOOL) application: (UIApplication*) application didFinishLaunchingWithOptions: (NSDictionary*) launchOptions { self.window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] bounds]]; UIViewController *VC = [UIViewController alloc] init]; self.window.rootViewController = vc; [self.window makeKeyAndVisible]; return YES; } 交换,让我们称之为 TBC ,并将三个UINavigationController锚定到它

我怎样才能从VC 中推出TBC 将VC置于UITabBarController内,然后用它来推送TBC?

我已经能够使用UINavigationController完成交换。我希望从VC到TBC的直接转换,s UINavigationController的交换,需要使用额外的elf.window.rootViewController }。

1 个答案:

答案 0 :(得分:0)

不是在视图控制器中导航,而是在app delegate中创建一个方法,这将改变根控制器,如

-(void)showTBC

{
     self.TBC=[[UITabbarcontroller alloc]init];

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

}
在用户选择答案后立即在你的VC中进行登录,并创建一个app委托实例 在VC中如

AppDelegate *ap=(AppDelegate *)[[UIApplication sharedApplication]delegate];

并致电 [ap showTBC];

......它对我有用......尝试一下......