1

내 문제는 먼저 자식 뷰 컨트롤러가있는 탭 표시 줄 뷰를 갖고 싶다는 것입니다. 어린이보기 컨트롤러에서 클릭 한 컨트롤에 따라 A) 탭보기 내에서 드릴 다운 (자식보기 컨트롤러를 스 와이프) 또는 B) 탭 막대보기 위로 드릴 다운 (탭 막대를 스 와이프하여 뷰 컨트롤러).UINavigationController 내의 UINavigationController 내의 UINavigationController

나는 탭 뷰어 컨트롤러의 내비게이션 컨트롤러를 랩핑하여 (이 방법을 사용하여 A 메서드를 사용하여 드릴링 할 수 있음)이 문제를 해결하고 Tab Bar 컨트롤러 자체 주위에 다른 탐색 컨트롤러를 래핑했습니다 방법 B)를 사용하여 드릴 다운 할 수 있으므로 제목을 사용할 수 있습니다. 그래서 간다 : 창 -> UINavigationController가 -> UITabBarController가 -> UINavigationController가 -> 아이 뷰 컨트롤러

문제는 내가 두 탐색 모음으로 끝날 것입니다 :

two navigation bars!! http://img527.imageshack.us/img527/240/problemc.png

은 다른 사람이이 있었 문제가 있다면, 어떻게 그 주변을 얻었습니까? 감사합니다.

+0

UInception을 .... – Martin

답변

2

이 경우에는 다른 컨트롤러에 탭 막대 컨트롤러를 중첩하지 않고도 UITabBar을 사용하고 프로그래밍 방식으로 상태를 프로그래밍 할 수 있습니다.

1

두 개의 중첩 된 UINavigationController를 사용하는 경우 두 개의 탐색 모음을 사용하지 않아도된다고 생각하지 않습니다. 바를 표시하고 싶지 않은 컨트롤러에 대해 swizzle UINavigationController를 서브 클래 싱하거나 메서드를 호출 할 수 있습니다. 그러면 어떻게 든 나타나거나 나타나지 않습니다. 탐색 막대의 불투명 속성이나 그에 따라 숨겨진 속성을 설정할 수도 있지만 빈 간격을 막기 위해 UIView 재정렬을 수행해야 할 수도 있습니다.

이것은 순전히 추측입니다. 어느 접근법이 효과가 있을지, 어떻게 될 것인지 모르겠다.하지만 그 아이디어는 내가 시작하려고했던 것이고 나는 이것을하려고 애쓰는 것이다.

1

그냥이 쉽게 원하지 않는 바, 숨길 수 :

[navigationController setNavigationBarHidden:YES animated:NO];