2013-04-22 1 views
1

나는 탭 응용 프로그램이 있으며 각 탭에는 테이블보기가있는 탐색 컨트롤러가 있습니다.내비게이션 컨트롤러 내부에있는 viewcontroller를 탭 응용 프로그램의 다른 탭에서 표시합니다.

탭에서보기 중 하나에서 다른 탭의 첫 번째보기 컨트롤러를 표시하려고합니다.

tabViewController.viewControllers에는 각 탭에 대한 탐색 컨트롤러 배열이 있습니다.

보기 컨트롤러가 내비게이션 컨트롤러에 액세스하지 않고 바로 표시되는 것처럼 보이지 않으며 내비게이션 컨트롤러를 사용할 수 없다고 생각합니다. 내가 뭘 잘못하고있어 ??

답변

1

내가 올바르게 이해했다면 다음과 같이 루트 컨트롤러에 액세스 할 수 있습니다 : [[tabViewController.viewControllers objectAtIndex:index] objectAtIndex:0],하지만 하나의보기를 두 번 표시 할 수 없다고 생각합니다. 따라서이 뷰 컨트롤러를 childViewController와 같은 다른 탭에 표시하려면 다시 작성해야합니다 (예 :

+0

). UINavigationController * mycont = [self.tabBarController.viewControllers objectAtIndex : 2]; 위의 코드는 오류 을 캐치합니다. 캐치되지 않은 예외 'NSInvalidArgumentException'으로 인해 응용 프로그램을 종료합니다. 이유 : '응용 프로그램이 모달로 표시하려고했습니다.'라는 오류 메시지가 나타납니다. [selfcontrolsAccessIndex : 0] 활성 컨트롤러 . ' – SunnyPenguin

+1

Bcz 이미 표시된 컨트롤러를 표시하려고합니다. –

+0

viewController와 네비게이션 컨트롤러를 다시 만든 다음'tabbarController.viewControllers'에서 다시 바꿉니 까? 당신의 대답을 해석하는 것이 옳은가요? – SunnyPenguin

관련 문제