2012-06-17 3 views
0

보기 간 기본 탐색에 문제가 있습니다. 나는 두 개의 뷰가있는 tabBarController를 가지고있다. 첫 번째보기 컨트롤러에서 단추 누름에 응답하는 메서드를 호출하면 self.navigationController가 null입니다. 디버거는 코드를 단계별로 실행하지만 시뮬레이터의 화면은 변경되지 않습니다. 나는 나의의 ViewController 버튼 응답 방법에 다음 코드를 가지고 : 내 MyAppDelegate.m 구현의 didFinishLaunchWithOptions 방법에기본 탐색보기가 작동하지 않습니다.

FooViewController *fvc = [[FooViewController alloc] initWithNibName:@"FooViewController" bundle:nil]; 
[self.navigationController pushViewController:fvc animated=YES]; 

난은 UINavigationController를 만들고와 루트 뷰 컨트롤러 등의 UIViewController의 인스턴스를 초기화하는거야 다음 코드 :

UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController: viewController1]; 
self.tabBarController = [[UITabBarController alloc] init]; 
self.tabBarController.viewControllers = [NSArray arrayWithObjects: viewController1, viewController2, nil]; 
self.window.rootViewController = self.tabBarController; 

나의 현재 이해는 initWithRootViewController 변수가 viewController1에 UINavigationController가 개체를 결합해야한다는 것입니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?!? 지혜의 모든 생각, 제안 또는 진주는 크게 감사하겠습니다.

많은 감사,

-Munk

답변

2

initWithRootViewControllerViewController 자체

변경이 라인을 탐색 바인딩,하지만 탭 표시 줄에 당신이 UINavigationController을 설정해야하고하지 않는

self.tabBarController.viewControllers = [NSArray arrayWithObjects: viewController1, viewController2, nil]; 

to

self.tabBarController.viewControllers = [NSArray arrayWithObjects: nav, viewController2, nil]; 

은 또한 당신은

[self.navigationController pushViewController:fvc animated:YES]; 
+0

굉장 여기

[self.navigationController pushViewController:fvc animated=YES]; 

변화를 오타를 가지고있는 것 같습니다! 그게 효과가 있었어! 감사합니다 오마르. – munk

관련 문제