1

내 응용 프로그램에 MFMailComposeViewController을 사용하여 피드백 전자 메일을 작성합니다. MFMailComposeViewController이 표시되지만 닫을 수는 없습니다.iOS : MFMailComposeViewController가 닫히지 않음

다음
-(IBAction) feedbackBtnClicked:(id)sender { 

    // Dismiss the Old View Controller 
    [self dismissViewControllerAnimated:NO completion:NULL]; 

    // Present the New View Controller 
    if ([MFMailComposeViewController canSendMail]) 
    { 
     MFMailComposeViewController *mail = [[MFMailComposeViewController alloc] init]; 
     mail.mailComposeDelegate = self; 
     [mail setSubject:@"Sample Subject"]; 
     [mail setMessageBody:@"Here is some main text in the email!" isHTML:NO]; 
     [mail setToRecipients:@[@"[email protected]"]]; 

     [self presentViewController:mail animated:YES completion:NULL]; 
    } 
    else 
    { 
     NSLog(@"This device cannot send email"); 
    } 
} 

이 버튼을 클릭 할 때 발생하는 것입니다 :

방법은 MFMailComposeViewController 모달 창을 여는 데 사용

Senden (전송) - 전자 메일이 전송됩니다 만, 모달 윈도우는 열린 상태로 유지됩니다. 버튼을 여러 번 클릭하면 모달 창이 닫히지 않고 여러 개의 전자 메일이 전송됩니다. Abbrechen (취소) - 아무것도

가 어떻게 MFMailComposeViewController가 그 버튼을 클릭 한 후 기각됩니다 확인 기각 할 일이 없다?

Screenshot

+0

https://stackoverflow.com/questions/1918651/unable-to-dismiss-mfmailcomposeviewcontroller ... MFMailComposeViewControllerDelegate 방법 mailComposeController:didFinishWithResult:error:을 구현하고, 메일 뷰 컨트롤러를 해제해야합니다 -delegate-not-called – Ren

답변

2

당신은

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller 
       didFinishWithResult:(MessageComposeResult)result 
{ 
    [self dismissViewControllerAnimated:YES completion:NULL]; 
} 
+1

예, 메소드를 구현했으며 작동합니다! –

+0

답변을 수락 해주십시오! –