2009-10-06 4 views
0

하나의 iPhone 응용 프로그램에 둘 이상의 UITabbarController를 포함 할 수 있습니까?하나의 iPhone App에 여러 UITabbarComtroller가 있습니다.

내 응용 프로그램에 섹션이 여러 개 있습니다. 각 섹션에는 해당 섹션에서 탐색 할 자체 UITabbarController가 있어야합니다. 이전 섹션에서 특정 유형의 항목을 선택한 경우 새 섹션이로드됩니다. 두 번째로 탐색 버튼의 뒤로 버튼은 사용자가 두 번째 섹션의 첫 번째 컨트롤러에있는 경우 버튼을 누르면 푸시됩니다. UITabbar 컨트롤러가 표시된 첫 번째 섹션으로 돌아 가야합니다.

답변

0

확실히, UINavigationController를 사용하여 UITabbarController 인스턴스를 밀고 팝하십시오. 사용자가 UITabbarController에서 항목을 선택하면 UINavigationController로 다음 항목을 누르고 Back 단추를 누르면 다시 UITabbarController가 표시되고 이전 UITabbarController가 나타납니다.

+0

응용 프로그램 대리인 applicationDidFinishLaunching 메서드에서 UITababrController를 만들었으며 각 탭 항목에 대해 각각 UIViewController를 루트 컨트롤러로 사용하여 UINavigationController를 연결했습니다. 두 번째 탭 항목을 클릭하면 다른 tabbarcontroller 밀어 넣기 있지만 마지막 tabbarcontroller 통해 볼 수 있습니다. 나는 다른 사건에서 그것을 시도하지만 제대로 작동하지 않습니다. 어디에서 tabbarcontroller를 밀어야합니까? 샘플 코드를 제공 할 수 있다면 좋을 것입니다. :) –

+0

다른 방법으로 시도했습니다 : 1. 탭 표시 줄의 두 번째 항목에는 UITabbarcontroller가 연결되어 있습니다. 2. 탐색 컨트롤러는 각 탭 모음 항목과 연결되어 있습니다. 두 번째 Tabbar 버튼을 누르면 두 번째 탭 버튼과 연결된 탐색 컨트롤러가보기 컨트롤러를로드하고 UITabbarController를 푸시합니다. 다른 방법으로 1 개 또는 2 개를 시도했습니다. 그러나 네비게이션 바가 서로 아래에 추가되어 비슷한 태블릿 컨트롤러가 하나씩 추가됩니다. –

0

탭 컨트롤러가 같은 레벨에있는 경우 (예 : 중첩되지 않음) 문제가 발생할 수 있으므로 상황에 따라 문제가 발생할 수 있습니다.

그렇다면 탭 컨트롤러가없는 최상위 레벨이 있지만 사용자가 무언가를 선택하면 두 번째 레벨 아래쪽에 탭 컨트롤러가있는 것입니다.

정상적인 탭 표시 줄 응용 프로그램에서와 같이 최상위 수준의 탭 표시 줄 컨트롤러를 사용하는 것이 좋습니다. 최상위 레벨 탐색 컨트롤러 인 탭 항목 하나를 지정하십시오. 루트 수준의 탭 표시 줄을 숨 깁니다.

사용자가 항목을 선택하고보기 컨트롤러를 밀 때 보통처럼 그것을 밀고 바로 가기 탭 컨트롤러가 원하는 탭을 갖도록 구성한 다음 숨김을 취소합니다. 사용자가보기를 팝하면 다시 탭 컨트롤러를 숨기고 원하지 않는 탭을 놓습니다.

다른 모든 선택 사항에 대해 동일한 작업을 수행하십시오. 따라서 사용자는 하나의 탭 컨트롤러 만 가질 수 있지만 섹션 당 하나씩있는 것처럼 보입니다.

희망이 도움이됩니다.

+0

예 내 탭 바 컨트롤러가 동일한 레벨에 있었고 기본 탭 바를 기본 네비게이션 컨트롤러에 할당 한 다음 기본 네비게이션 컨트롤러에서 필요할 때 다른 탭 바를 밀거나 팝합니다 –

관련 문제