我的MFMailComposer代码:
MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
[mailViewController setDelegate:self];
[mailViewController setSubject:@"subject"];
[mailViewController setToRecipients:[NSArray arrayWithObject:@"email@email.com"]];
[mailViewController setMessageBody:@"body" isHTML:NO];
for (int i = 0; i < self.imagesData.count; i++)
{
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd-HH-mm-ss-SSSS"];
[mailViewController addAttachmentData:[self.imagesData objectAtIndex:i] mimeType:[self contentTypeForImageData:[self.imagesData objectAtIndex:i]] fileName:[NSString stringWithFormat:@"portfolio_%@_%d", [dateFormatter stringFromDate:[NSDate date]], i]];
}
[self presentViewController:mailViewController animated:YES completion:nil];
有了这段代码,我会按取消并删除草稿,但什么也没发生,MFMailComposerViewController不会关闭。
我已经添加了代表:
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error{
if(error) NSLog(@"ERROR - mailComposeController: %@", [error localizedDescription]);
if (result == MFMailComposeResultSent)
{
NSLog(@"It's away!");
}
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
[self dismissViewControllerAnimated:YES completion:nil];}
我错过了什么?
好的,我找到了答案。我很愚蠢。
我使用了setDelegate
而不是setMailComposeDelegate