我试图在有人通过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];
}
最佳答案
因为您正在使用动画来隐藏图像选择器。
当您尝试显示MFMailComposeViewController时,实际上不会关闭UIImagePickerController,这就是为什么会出现错误。
您可以更改代码
[picker dismissModalViewControllerAnimated:YES];
至
[picker dismissModalViewControllerAnimated:NO]; // (set Animated to "NO")
解决此问题。
附言我也不确定为什么要添加
[self becomeFirstResponder];
在那里,但似乎没有必要。
关于iphone - 直接在UIImagePickerController之后调用MFMailComposeViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7061299/