2011-11-15 1 views
0

처음으로 모달 뷰 컨트롤러를 표시 한 후에 문제가 발생하여 약간의 테스트 방법을 시작하고 선물을 보내고 해제하고 선물합니다. 다시 동일한 컨트롤러를 모달로 사용합니다. 문서는 여기에 단서를 추가하지 않습니다한 번 해제 한 후 같은 modalView를 표시하는 방법

2011-11-15 09:50:42.678 Proyecto3[1260:11603] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Application tried to present modally an active controller <RootViewController: 0x6d9d090>.' 

:

// This is just test Code. 
MYViewController *vc = [[MYViewController alloc] init]; 
[self presentModalViewController:vc animated:YES]; 
[self dismissModalViewControllerAnimated:YES]; 
[self presentModalViewController:vc animated:YES]; 

가 나는 오류가 발생합니다.

답변

0

코드 [self dismissModalViewControllerAnimated : YES]; 은 modalViewController에 아무 것도하지 않을 것입니다. 여기서는 "self"가 modalViewController "vc"를 표시하려고하는 viewController이기 때문에 이미 제시된 modalViewController를 제시하고 있습니다. 이것은 종료 될 것입니다.

modalViewController vc는 해당 viewController에서 닫을 수 있습니다. 여기서 vc를 보겠습니다.

+0

하지만 그 반대는 다음과 같습니다. "dismissModalViewControllerAnimated : 수신자가 표시 한 모달보기 컨트롤러를 닫습니다." 또한 View Controller Programming Guide에서 모달 뷰 컨트롤러는 상위 컨트롤러에서이 방식으로 해제됩니다. –

0

할 수 있습니다없는 /이 움직이는 동안, 나는이

MYViewController *vc = [[MYViewController alloc] init]; 
[self presentModalViewController:vc animated:NO]; 
[self dismissModalViewControllerAnimated:NO]; 
[self presentModalViewController:vc animated:YES]; 

작동하지만 당신은 해고하고 다시하려는 이유를 정말, 그 일에 대한 어떤 이유가 표시되지 않습니다 생각하는 뷰 컨트롤러를 기각 이미 제시된 모달 뷰 컨트롤러를 제공합니까?

+0

이것은 내 앱에서 무엇이 잘못되었는지 확인하는 테스트 코드입니다. modalViewController를 닫은 후에 다시 modalViewController를 표시하려고 시도 중이며 다시 표시되지 않습니다. 내 대답없는 게시물을 참조하십시오 : http://stackoverflow.com/questions/8076211/what-can-make-presentmodalviewcontroller-not-ending-in-viewwillappear-being-call –

1

@ 데이빗은 MYViewController 인스턴스 변수를 확인하고, 이런 식으로 초기화하십시오 done 또는 cancel 버튼 일 수있다 MYViewController 기각 좌표를 공동 프로토콜을 생성

if (myInstance==nil) 
    //create instance of MYViewController 
    //myInstance.delegate=self 
//present modal VC 

MYViewController있다. 버튼 액션 호출에서

done 
    { 
     if([delegate respondsToSelector:@selector(willDismissModalView)]) 
     { 
      [delegate willDismissModalView]; 
     } 
    } 

같은과 VC의 willDismissModalView 방법에 어떤 일이 MYViewController를 닫습니다. 이 방법을 사용하면 'n'번 할 수 있습니다.

+0

그게 내 애플 리케이션에서 할 방법 (이것은 단지 테스트입니다 암호). 답변되지 않은 게시물보기 : http://stackoverflow.com/questions/8076211/what-can-make-presentmodalviewcontroller-not-ending-in-viewwillappear-being-call –