2011-08-01 3 views
0

내 응용 프로그램 프로젝트는 각각 5 개의 페이지 뷰가 기본적으로 하단의 탭 막대를 통해 링크되어 있으며 페이지간에 전환 할 때 그 5 페이지 각각은 페이지에 탭 표시 줄이 있어야만 정상적으로 작동합니다.Xcode 4에서는 버튼으로보기를 전환 할 때 맨 아래의 탭 막대를 유지하는 방법

5 개의 탭 중 2 개는 색인처럼 작동하며 보조 링크로 이동하는 버튼 링크가 있습니다. 보조 페이지로 이동하기 위해 버튼을 프로그래밍 할 때 링크가 정상적으로 작동했지만 해당 페이지 하단의 탭 막대가 더 이상 존재하지 않습니다. 각 보조 페이지에는 링크 된 인덱스 페이지로 돌아 가기위한 돌아 가기 버튼이 있지만, 링크 된 탭 바는 이제 사라졌습니다.

버튼 클릭 후 누락 된 탭 표시 줄에 문제가되는 보조 페이지를 제외하기 위해 탭 중 하나를 연결하여 보조 페이지로 바로 이동하여 실험을 완벽하게 수행했습니다. 그런 다음

-(IBAction)switchView:(id)sender { 
MyNewPageViewController *newPagelink = [[MyNewPageViewController alloc] initWithNibName:nil bundle:nil]; 
[self presentModalViewController:newPageLink animated:YES]; 

[newPagelink release];} 

: 클래스 페이지 tabIndex.h에서 : 클래스 페이지 tabIndex.m에서

//I declared this method after the last "}"  
    -(IBAction)switchView:(id)sender; 

여기

는 내가 외출 버튼을 연결하는 데 사용 코드 나는 이름을 바꾸고 각각의 .h & .m 파일에서 MyNewPageViewController에 대한 동일한 버튼을 다시 실행하고 return "switchBack"에 대해 IBAction을 호출했습니다.

나는 누군가가이 문제에 대한 수정과 함께 나를 도울 수 바라고 있어요

...

많은 감사,

--Rob 당신이 함께 탐색 컨트롤러를 사용하여 더 나을 수 있습니다처럼 소리

답변

0

탭 막대 컨트롤러로 탐색 컨트롤러를 탭 막대 컨트롤러와 함께 사용하면 탭 막대를 전체적으로 볼 수있게 유지하면서 각 탭에 대해 계층 적으로 구성된 여러보기를 표시 할 수 있습니다.

주어진 컨트롤러의 보조 페이지로 이동하려면 -pushViewController:animated:을 사용하여 새 컨트롤러를 탐색 스택에 푸시합니다. 첫 번째 컨트롤러로 돌아가려면 간단히 -popViewControllerAnimated:입니다. 두 개 이상의보기를 가질 수있는 각 탭에 대한 탐색보기 컨트롤러가 있으며 기본보기의보기 컨트롤러는 탐색 컨트롤러의 루트보기 컨트롤러입니다.

using a nav controller with a tab bar controller에 대한 자세한 내용은 컨트롤러보기 프로그래밍 가이드에서 확인할 수 있습니다.

0

내비게이션 컨트롤러를 사용해야하는 5 개의보기 컨트롤러 중 2 개가있는보기 컨트롤러가 5 개있는 것처럼 들립니다. 그 vc 들어, 당신은 여전히 ​​탭 표시 줄을보고 싶지만 그들을 밀어 추가보기를 팝업 수 있어야합니다. 그렇게 쉬운 일입니다. 다음은 탭 자동차 컨트롤러를 설정하는 것이 방법입니다 - 처음 두 뷰 컨트롤러가 사람이 당신이 추가 뷰를 밀어 필요가 있다고 가정 다음에 당신이보기를 밀어 수 VC1 및 VC2와 지금

MyVC1 *vc1= [[MyVC1 alloc] initWithNibName:@"MyVC1View" bundle:nil]; 
MyVC2 *vc2= [[MyVC1 alloc] initWithNibName:@"MyVC2View" bundle:nil]; 
MyVC3 *vc3= [[MyVC1 alloc] initWithNibName:@"MyVC3View" bundle:nil]; 
MyVC4 *vc4= [[MyVC1 alloc] initWithNibName:@"MyVC4View" bundle:nil]; 
MyVC5 *vc5= [[MyVC1 alloc] initWithNibName:@"MyVC5View" bundle:nil]; 

// these are the VCs you need to push/pop from 
UINavigationController *firstNavController = [[UINavigationController alloc] initWithRootViewController:vc1]; 
UINavigationController *secondNavController = [[UINavigationController alloc] initWithRootViewController:vc2]; 

UITabBarController *tabBar = [[UITabBarController alloc] initWithNibName:nil bundle:nil]; 
tabBar.viewControllers = [NSArray arrayWithObjects:firstNavController, secondNavController, vc3, vc4, vc5, nil];

탐색 스택 (예 : ) [self.navigationController pushViewController:vc1B animated:YES];