0

我的根视图控制器是加载在委托中的选项卡栏控制器。每个选项卡都是一个表格视图控制器。首次加载应用程序时,我希望通过 presentViewController 弹出一个登录屏幕,我在 Tab Bar Controller 的 viewDidLoad 方法中有该登录屏幕。它导致我读过的窗口层次结构错误 - 尽管没有一个解决方案对我有用。我尝试在第一个选项卡的 viewDidLoad 方法中显示模态视图,但这导致了同样的错误。

在 viewDidLoad 的标签栏视图控制器中,我的代码是:

 CLLoginViewController *loginVC = [[CLLoginViewController alloc] init];
    loginVC.delegate = self;
    [self.view addSubview:loginVC.view];
    [self presentViewController:loginVC animated:NO completion:nil];
4

1 回答 1

0

你的问题很模糊,但我理解的是,你想在加载 tabController 之前显示一个登录屏幕。

所以更好的方法是,在你的 AppDelegate 设置窗口的 rootViewController 时,做这样的事情

if([[NSUserDefaults standardUserDefaults] boolForKey:@"showTabBar"]){
     self.window.rootViewController  = tabBarControllerObject;   //TabBarView is loaded
     [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"showTabBar"];
}
else{
     self.window.rootViewController  =   tabBarControllerObject;   //Login Screen is loaded for first time.
}

希望这可以帮助

于 2014-04-15T19:26:05.680 回答