2014-04-15 9 views
0

내 루트보기 컨트롤러가 대리자에로드 된 탭 모음 컨트롤러입니다. 각 탭은 테이블 뷰 컨트롤러입니다. 응용 프로그램을 처음로드 할 때 나는 Tab Bar Controller의 viewDidLoad 메서드에있는 presentViewController를 통해 로그인 화면을 팝업으로 표시하려고합니다. 그 결과 내가 읽은 창 계층 오류가 발생합니다. 아무 해결책도 저에게 효과가 없었지만. 대신 첫 번째 탭의 viewDidLoad 메서드에서 모달보기를 표시하려고했지만 동일한 오류가 발생했습니다.presentViewController over TabBarController "보기가 창 계층 구조에없는 TabBarVC에 * VC를 표시하려고합니다."

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

답변

0

귀하의 질문은 매우 모호하지만 내가 이해, 당신은 tabController가로드되기 전에 로그인 화면을 제공 할 : viewDidLoad에 내 탭 표시 줄보기 컨트롤러에서

, 내 코드입니다.

그래서 더 좋은 방법은 윈도우의 rootViewController를 설정할 때, AppDelegate에에서 일이 답장을

+0

감사를하는 데 도움이

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. } 

희망 같은 것을 할 것입니다, 나는 시도 것을 제공 할 것입니다. 더 많은 정보를 얻으려면 : 1. App Delegate 2. Tab Bar View Controller 3. 각 Tab Bar는 TableView Controller입니다. 루트보기 컨트롤러 (1. App Delegate 2.UINaviationController 3. UITabViewController 4. TableViewControllers)로 UINavigation Controller를 삽입하면 tabView 컨트롤러에서 presentViewController : loginVC를 아무 문제없이 사용할 수 있습니다. 왜 그런지 혼란 스럽습니다. – user3537404