0

App Delegate에서 표시되는 ModalViewController가 있습니다. ModalViewController가 잘 실행되고 [self dismissModalViewControllerAnimated : YES]와 같은 다양한 액션을 실행할 것이다. 예상대로iPhone ModalViewController가 다음보기로 이동하지 않습니다.

Dismiss가 작동하지만 ModalViewController를 탐색하거나 다음보기로 슬라이드 할 수 없습니다. 내 코드에서 어떤 오류나 경고를받지 못했습니다.

-(IBAction)signUpButtonTapped { 
    // i need to get the control for main navigation controller 
    HHHTabAppDelegate *appDelegate = (HHHTabAppDelegate *)[[UIApplication sharedApplication]delegate]; 
    [appDelegate.navigationController popToRootViewControllerAnimated:NO]; 
    // create object from app main view to push it 
    SignUpViewController *signUpViewController = [[SignUpViewController alloc] initWithNibName:@"SignUpViewController" bundle:nil]; 
    [appDelegate.navigationController pushViewController:signUpViewController animated:YES]; 
} 

답변

0

팝업 및 푸시 뷰 컨트롤러의 경우 이전에 내비게이션 컨트롤러를 설정해야합니다. Here xib 또는 스토리 보드없이 탐색 컨트롤러를 만드는 방법에 대한 자습서를 찾을 수 있습니다.

+0

지금 확인해보세요. 네가 게시 한 코드와 동일한 .m 파일에 navigationController를 설정해야합니까? 또는 SignUpViewController (푸시되는 페이지)에 넣어야합니까? – Brandon

+0

appdelegate – Garoal

+0

첫 번째보기 컨트롤러가 모달로 표시되는 경우 먼저 – Garoal

0

처음으로 모달 뷰를 열면 기본적으로 SignupViewController이 아닌 UINavigationController을 표시해야합니다. 코드는 다음과 같다 :

ModalViewController *modalViewController = [[ModalViewController alloc] initWithNibName:@"ModalViewController" bundle:nil]; 
UINavigationController *modalNavController = [[UINavigationController alloc] initWithRootViewController:modalViewController]; 

[appDelegate.navigationController presentModalViewController:modalNavController animated:YES]; 

귀하의 문제는 당신이 UINavigationController의 전무 인스턴스에 푸시 메시지를 보내는 것입니다.

관련 문제