2011-04-20 4 views
5

UINavigationController 내에 UINavigationController가있을 수 있습니까? 나는 그것을 문제로 실행 해요 및 충돌 보고서를 읽고 : 중첩 된 UINavigationController

App with nested UINavigationController crashes in iOS SDK 4.2

iPhone UINavigationController inside UIViewController

응용 프로그램은 내가 다른 년에 다시 사용할 필요 2-3 단계 하위 워크 플로우의 몇 가지를 포함 기본 워크 플로 내에 배치되므로 중첩됩니다. 워크 플로우 로직이 많은 하나의 마스터 UINavigation 컨트롤러를 가질 수는 있지만 독립적 인 하위 워크 플로로 모델링하는 것을 선호합니다.

사이드 노트 - presentModalViewController를 사용하여 하위 워크 플로를 시작하면 작동합니다 (모든 UIView에 유효하므로). 그러나 pushViewController를 사용하여 시작하면 제목 표시 줄 만 표시됩니다. 전 화면을 덮고 있기 때문에 모달하지 않으려합니다.

답변

4

가능성이 있는지 (예 : 일종의 해킹 방법이 있는지) 모르겠지만 하나 이상의 UINavigationController를 사용하지 않는 것이 좋습니다. 구현시뿐만 아니라 사용자에게도 복잡하기 때문에 필요하다고 생각하면 앱 디자인에 의문을 제기 할 것입니다.

캡슐화 된 접근 방식은 주 UI에 단일 UINavigationController를 사용하는 것입니다. 사용자가 자신의 논리적 흐름으로 분기하는 작업을 수행 할 때 새 네비게이션 컨트롤러를 모달 뷰 컨트롤러로 제시하고 사용자가 해당 논리 흐름을 완료하고 기본 UI로 돌아 가면 모달을 닫게하십시오.