DismissModaViewController на Mail composer не работает - PullRequest
0 голосов
/ 25 июня 2011

У меня проблема, когда я закончил снимок экрана и попытался отправить снимок экрана в приложении по электронной почте.Обычно он отлично работает при отправке текста, но после отправки снимка экрана, независимо от того, отменили ли вы или отправили письмо, экран не исчезнет.Могу ли я знать, в чем проблема?

Вот мой код.Большое спасибо.

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {

        if (buttonIndex == 0) {

        UIGraphicsBeginImageContext(self.view.frame.size);
        [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
        UIImage * image = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();

        NSData * imageData = UIImageJPEGRepresentation(image, 1.0);

        if ( [MFMailComposeViewController canSendMail] ) {
            MFMailComposeViewController * mailComposer = [[[MFMailComposeViewController alloc] init] autorelease];
            mailComposer.delegate = self;
            [mailComposer addAttachmentData:imageData mimeType:@"image/jpeg" fileName:@"attachment.jpg"];

            /* Configure other settings */

            [self presentModalViewController:mailComposer animated:YES];
        }
    }
}
- (void)mailComposeController:(MFMailComposeViewController*)controller{
    [self dismissModalViewControllerAnimated:YES];
}

1 Ответ

0 голосов
/ 25 июня 2011

Метод делегата, который вам нужно реализовать, это mailComposeController:didFinishWithResult:error:, а не mailComposeController:. Подробнее см. в документации .

...