1

두 컨트롤러 A & B와 1 MFMessageComposeViewController가 있다고 가정 해 보겠습니다. 나는 이러한 작업 MFMessageComposeViewController를 mainView Controller로 닫을 수 있습니까?

을 수행하고 A-> presentModalViewController -> B

B-> presentModalViewController -> MFMessageComposeViewController 내가 B에없는 다시 컨트롤러에 가고 싶어 didFinishWithResult 대리자를 구성 그래서 메시지

객체

나는 delegate에서 컨트롤러를 직접 호출하고 2 회의 dismissModalViewControllerAnimated와 같은 여러 단계를 시도했지만 아무 것도 작동하지 않습니다. 매번 한 번만 해고되고 B 컨트롤러에 남아 있습니다.

취소/전송 중 컨트롤러로 돌아가고 싶습니다.

+0

을 제시하기 전에 B를 닫고는 당신이 코드를 추가 할 경우 그것은 도움이 될 것입니다 당신이 나에 뷰 컨트롤러를 해제하기 전에 잠시 기다리 MFMessageComposeViewController을 기각 할 필요가 모달 뷰 컨트롤러입니다 B와 MFMessageComposeViewController를 해고하는 방법. –

답변

7

언급 한대로 두 번 닫습니다. 하는 최초의 , 그리고 [self dismissModalViewControllerAnimated:NO];

, [self dismissModalViewControllerAnimated:YES];

+0

그레이트 맨 .... 지난 1 시간 이래로이 문제를 망쳤습니다 ... 여러 가지 복잡한 방법을 시도했습니다 ... 그리고 당신의 대답은 매우 간단하고 정확했습니다. 감사합니다 – Tariq

+0

그냥이 매우 유용한 팁 주셔서 감사드립니다. – aliirz

0

방법 1 : 당신의 B 컨트롤러에서 때 현재 MFMessageComposeViewController에 플래그를 설정합니다. B의보기에는 플래그가 설정되어 있는지 확인한 다음 B를 취소하고 플래그를 설정 해제합니다.

방법 2 : 단지 B 이후 MFMessageComposeViewController

관련 문제