MFMailComposeViewController保存/删除/取消

时间:2010-10-15 06:11:58

标签: iphone

我已将MFMailComposeViewController添加到我的应用程序中。在MFMailComposeViewController中 左侧顶部有一个按钮名称取消。当我点击取消按钮时,它显示UIActionSheet有三个选项(保存/删除/取消)。

我怀疑是当我点击删除草稿按钮时取消MFMailComposeViewController。同样的过程是保存草稿按钮。但我不知道它做什么功能,当我点击取消,保存,删除(草案)它将做什么,我们如何检查?(无论是否正确)。

还可以在哪里查看iphone中已保存的草稿邮件。这可能吗?如果我们能够从UIActionSheet删除某些选项。

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error 
{   
     [self dismissModalViewControllerAnimated:YES];
}

我搜索了很多关于这个,但没有得到答案。我正在运行iphone os 4.0模拟器。

Plz帮帮我?

提前致谢....

2 个答案:

答案 0 :(得分:3)

在模拟器中,无论您选择哪个选项(即使您选择发送电子邮件),也不会对您撰写的邮件进行任何操作。在设备上,邮件将被删除或保存到Mail应用程序中的用户草稿文件夹,具体取决于所做的选择。

无法更改此操作表中的可用选项,因为它完全由邮件撰写视图控制器控制。

答案 1 :(得分:1)

您需要在此处实现MFMailComposeViewControllerDelegate,并实现以下方法:

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error  {   
NSString *message = @"";
// Notifies users about errors associated with the interface
switch (result) {
    case MFMailComposeResultCancelled:
        message = @"Mail: canceled";
        break;
    case MFMailComposeResultSaved:
        message = @"Mail: saved";
        break;
    case MFMailComposeResultSent:
        message = @"Mail: sent";
        break;
    case MFMailComposeResultFailed:
        message = @"Mail: failed";
        break;
    default:
        message = @"Mail: not sent";
        break;
}
[self dismissModalViewControllerAnimated:YES];
}