2012-01-26 3 views
2

내가 navController라는 이름의 네비게이션 컨트롤러가있는 viewDidLoad 동안 내 모달 뷰 컨트롤러에서 프로그래밍 방식으로 만든 만든으로 표시되지 바, 내가 IB에서 만든 표준보기. 뭐가 문제 야?탐색 바는 프로그램은 UINavigationController

+0

이것은 매우 혼란스러운 코드입니다.한 컨트롤러의보기를 다른 컨트롤러의보기로 설정할 수 없습니다. 그리고 컨트롤러는 일반적으로 자신의보기가 다른 컨트롤러보기의 하위보기로 추가 될 것으로 기대하지 않습니다. – smparkes

답변

5

해결책은 작동하지 않습니다.

ModalViewController이라는 모달 컨트롤러가 있다고 가정합니다. xib 만든 인터페이스와 연결된 간단한 UIViewController입니다.

이제는 어떤 경우에 ModalViewController을 모달로 표시해야합니다. 당신이 당신의 명세서에 쓴 것처럼, 나는 UINavigationController도 사용하고 탐색 바를 제어하려고한다고 생각합니다.

코드는 다음과 같을 수 있습니다. presentModallyModalViewController에 포함되지 않은 방법 일 수 있습니다.

- (void)presentModally:(id)sender { 

    ModalViewController *modalController = [[ModalViewController alloc] initWithNibName:@"ModalView" bundle:nil]; 

    // Create the navigation controller and present it. 
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:modalController]; 

    [self presentViewController:navigationController animated:YES completion: nil]; 
} 

지금의 viewDidLoad 이내에 ModalViewController이있는 navigationController 속성에 액세스 할 수 있습니다. 이 방법으로 navigationController 동작을 제어 할 수 있습니다. 예를 들어 :

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // the code changes the title for the navigation bar associated with the UINavigationController 
    self.title = @"Set from ModalViewController"; 
} 

일부 노트

UINavigationController 작품 UINavigationController class reference

이 작품은 내가 제공하는 코드는 간단한 예입니다 Modal view controllers documentation

을 읽을 방법 모달 컨트롤러 이해하기 위해 읽어 방법을 이해하고, 실증적 인 것 (필자는 직접 작성하여 구문을 확인했다). 메모리 관리와 모달 컨트롤러를 제시하는 방법에주의를 기울여야합니다. 특히 Apple 설명서에서 알 수 있듯이 모달 컨트롤러를 제공하려면 다음 단계를 따라야합니다.

  1. 제시 할보기 컨트롤러를 만듭니다.

  2. 보기 컨트롤러의 modalTransitionStyle 속성을 원하는 값으로 설정하십시오.

  3. 대리자 개체를보기 컨트롤러에 할당합니다. 일반적으로 위임자는 제시하는 뷰 컨트롤러입니다. 이 델리게이트는 제시된 뷰 컨트롤러가 프리젠 테이션 뷰 컨트롤러에게이를 해제 할 준비가되었음을 알리는 데 사용됩니다. 또한 다른 정보를 대리인에게 전달할 수도 있습니다.

  4. 현재보기 컨트롤러의 presentViewController : animated : completion : 메서드를 호출하고 표시 할보기 컨트롤러를 전달합니다.

  5. 모달 컨트롤러를 닫으려고 할 때 (필요한 경우) 방아쇠를 당깁니다.

희망이 있습니다.

+0

그냥 좋은 답변을 주셔서 감사합니다 – jfisk

+0

당신은 오신 것을 환영합니다. –

+0

@flexaddicted 신속한 버전으로 방법을 설명 할 수 있습니까? Tks – jmcastel

관련 문제