2011-02-26 2 views
0

ProfileUIViewController 클래스를 만들었습니다.이 클래스는 UINavigationControllerDelegate입니다. A-UIViewController.m 내 IBAction를에서UIModalViewController 크기 사용자 지정 및 탐색 모음 사용

  1. 하는 UIModalViewController로 : 나는 두 가지 방법으로이보기를 표시합니다. A-UIViewController은로드 될 때 UINavigationBar을가집니다. 그러나 모달을 표시하면 더 이상 탐색 막대가 없습니다.

  2. B-UIViewController.m 내의 표 셀 행을 클릭하면 스택으로 누를 수 있습니다. B-UIViewController은 장전 UINavigationBar을 가지고 있으며, ProfileViewController는 :) 원하는대로 메뉴 바 유지

내가 안쪽에서 작성,보기가 경우 1 모달로로드 할 때 UINavigationBar를 유지하면됩니다 찾고 있어요 전체보기 위에 배치하는 대신 UINavigationBar. (IE, navbar 아래에 A-UIViewConroller 내에서 모달을 표시하고 싶습니다. 더 작은 크기로 만들기)

다른 사람이 도와 줄 수 있습니까? 나만의 맞춤 설정을해야합니까 ModalViewController 클래스 - ProfileUIViewController이 아닙니까? 내가 제공하지 않는 인스턴스 메서드가 필요합니까? 어떤 방향이라도 좋을 것입니다 :)

답변

2

탐색 막대는보기 컨트롤러가 아닌 탐색 컨트롤러에서 관리합니다. 보기 컨트롤러를 탐색 컨트롤러에 밀어 넣으면 탐색 컨트롤러는 navigationItem의 정보를 사용하여 탐색 모음에 넣을 내용을 결정합니다. 그러나보기 컨트롤러를 모달로 표시하면 모든 탐색 컨트롤러 안에 있지 않으므로 막대가 없습니다.

모달의 경우 간단한 해결책 중 하나는보기 컨트롤러를 루트보기 컨트롤러로 사용하여 새로운 UINavigationController를 만들고보기 컨트롤러를 직접 표시하는 대신 모달로 표시하는 것입니다.

+0

필자의 경우 새로운 'UINavigationController' INSIDE'A-UIViewController'를 만들고 싶습니까? 새 navigationController의 루트 viewController를'A-UIViewController'로 만들고, 그 'UINavController'를 모달로 표시 하시겠습니까? 어쩌면 내가 뭔가를 놓친 것 같아. – user546459

+1

아마도'[self presentModalViewController : profileController animated : YES]'와 같은 것이있을 것입니다. 그것을 'UINavigationController * nav ='[[UINavigationController alloc] initWithRootViewController : profile]로 변경하십시오. autorelease]; [self presentModalViewController : nav animated : YES]; ' – Anomie

+0

Anomie - 고마워요! 이것은 최소한 정상을 가로 질러 작동하는 navbar로 나를 잡았습니다. 내가 혼란 스러웠던 이유는 이미'[self.navigationController presentModalViewController : profileVC animated : YES]'를 호출하고 있었기 때문입니다. 내가 정말 좋아할만한 것은 완전히 새로운 navBar를 만드는 대신'A-UIViewController' 안에 표시되는 현재 NavBar의 UNDERNEATH에 모달을 표시하는 것입니다. – user546459