1

我试图在有人通过 UIImagePickerController 选择照片后直接显示电子邮件对话。我不能让它之后直接弹出。难道我做错了什么?最终我会把照片作为附件,但这不是困难的部分。我可以让电子邮件和照片模式单独显示,而不是自动按顺序显示。谢谢!

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
// Hide the dialouge
[picker dismissModalViewControllerAnimated:YES];
[self becomeFirstResponder];

MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
[controller setSubject:@"test"];
[controller setMessageBody:@"test" isHTML:NO];

[self presentModalViewController:controller animated:YES];

}

4

1 回答 1

1

因为您正在使用动画来隐藏图像选择器。

当您尝试呈现 MFMailComposeViewController 时,UIImagePickerController 实际上并未被解除,这就是您收到错误的原因。

你可以改变你的代码

[picker dismissModalViewControllerAnimated:YES];

[picker dismissModalViewControllerAnimated:NO]; // (set Animated to "NO") 

解决此问题。

PS我也不确定你为什么要添加

[self becomeFirstResponder];

那里,但似乎没有必要。

于 2011-08-15T06:11:14.633 回答