我的根视图控制器是在委托中加载的选项卡栏控制器。每个选项卡都是一个表视图控制器。首次加载应用程序时,我想通过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];
答案 0 :(得分: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.
}
希望这有帮助