我的实现很简单:
在.h
文件中,我正在实施MFMailComposeViewControllerDelegate
在.m
文件中,我有以下代码:
-(void)MailCurrentViewAsAttachment
{
if ( [MFMailComposeViewController canSendMail] ) {
MFMailComposeViewController * mailComposer = [[MFMailComposeViewController alloc] init];
mailComposer.delegate = self;
[mailComposer addAttachmentData:imageData mimeType:@"image/jpeg" fileName:@"attachment.jpg"];
[self presentViewController:mailComposer animated:YES completion:nil];
}
}
-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
[self dismissViewControllerAnimated:YES completion:nil];
}
上面的变量imageData
是 UIImage 类型的,我确信它没有任何问题:所需的图像在撰写邮件窗口中正确显示。
但是,单击“取消”按钮不会关闭“撰写”窗口。我错过了什么?
注意:我使用 iOS 6 和最新版本的 xcode,我的应用是通用应用。