2012-04-24 3 views
0

I는 다음과 같이 6보기 컨트롤러를 작성한 탐색 컨트롤러 구현 :프로그래밍

Truck_Tracker_AppAppDelegate *delegate = (Truck_Tracker_AppAppDelegate *)UIApplication.sharedApplication.delegate; 
UIViewController *viewController1 = [[TrucksViewController alloc] initWithNibName:@"TrucksView" bundle:nil]; 
UIViewController *viewController2 = [[MapViewController alloc] initWithNibName:@"MapView" bundle:nil]; 
UIViewController *viewController3 = [[BlockPartyViewController alloc] initWithNibName:@"BlockPartyView" bundle:nil]; 
UIViewController *viewController4 = [[FavoritesViewController alloc] initWithNibName:@"FavoritesView" bundle:nil]; 
UIViewController *viewController5 = [[UserSettingsViewController alloc] initWithNibName:@"UserSettingsView" bundle:nil]; 
UIViewController *viewController6 = [[TOSettingsViewController alloc] initWithNibName:@"TOSettingsView" bundle:nil]; 
I가 viewController1 3 필요

, 4하는 프로그래밍 탐색 컨트롤러에 싸여있다. 나는 애플 개발자 웹 사이트에서 이걸 발견 :

- (void)applicationDidFinishLaunching:(UIApplication *)application 
{ 
UIViewController *myViewController = [[MyViewController alloc] init]; 
navigationController = [[UINavigationController alloc] 
          initWithRootViewController:myViewController]; 

window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
window.rootViewController = navigationController; 
[window makeKeyAndVisible]; 
} 

하지만 내가 viewControllers을 만든 곳을 할 필요가있다. 어떤 아이디어?

답변

0

음, UINavigationController에 대해 먼저 이해해야 할 사항이 있습니다. UINavigationController * navigationController = [[UINavigationController alloc]initWithRootViewController:myViewController];을 사용하면 실제로 myViewController 클래스의 네비게이션 컨트롤러를 생성합니다.이 컨트롤러는 자동으로 기본 UIToolBar 및 기본 UINavigationBar를 부여합니다. UINavigationController는 UIViewController의 하위 클래스이기 때문에 클래스를 인수로 사용하는 모든 함수에서 자유롭게 사용할 수 있습니다.

당신이 이것을 UITabbar에서 사용하고 싶어한다고 가정하기 때문에 각 뷰 컨트롤러에 대해 개별 UINavigationController 인스턴스를 만들고 NSArray *로 수집 한 다음 UITabbar의 'viewControllers'속성과 동일하게 설정하십시오.

+0

이것은 매우 도움이 된 감사입니다! – crashprophet

-1

보기 컨트롤러에 대한 포인터를 포함하는 NSArray를 만들고 NSArray를 탐색 컨트롤러의 viewControllers 속성에 할당합니다.

+0

예 ... 누군가 UINavigationControllers가 아닌 네비게이션 스택을 생성한다는 것을 이해하지 못하는 것 같습니다.). [docs] (http://developer.apple.com/library/ios/documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html#//apple_ref/occ/instp/UINavigationController/viewControllers) – CodaFi

+0

나는 ' 그는 개인 항법 제어기를 원한다고 생각한다. 하나의 탐색 컨트롤러가 viewController1, 3 및 4 중 하나를 탐색하기를 원한다고 생각합니다. 이렇게하면 "프로그래밍 방식으로 탐색 컨트롤러에 viewController1, 3 및 4를 래핑해야합니다."라는 문구를 해석 한 것입니다. UINavigationController 클래스 참조에 대한 도움이 될만한 참고 자료를 보내 주셔서 감사합니다. 나는 그곳을 바라 보지 않을 것입니다. –

+0

아. 나는 "유일한보기 관제사 1,3 및 4"선에서 그의 의도 한 행동을 추측했다. – CodaFi