iphone - 呈现 MFMailComposeViewController,但它在可见后立即消失

标签 iphone ios ios5

我的应用程序中的第一个 ViewController 子类 UIImagePickerController 然后通过 didFinishPickingMediaWithInfo 回调,我执行以下操作:

EditViewController *editViewController = [[EditViewController alloc] initWithNibName:@"EditViewController" bundle:nil];
[self pushViewController:editViewController animated:YES];

此 ViewController 正确显示...然后,通过 IBAction,我执行以下操作:
PreviewViewController *previewViewController = [[PreviewViewController alloc] initWithNibName:@"PreviewViewController" bundle:nil];
previewViewController.tempImage = img;
[self.navigationController pushViewController:previewViewController animated:YES];

此 View 也正确显示。在这个 VC 中,我尝试使用 MFMailComposeViewController 用于发送电子邮件。当我尝试插入它时,我得到 不支持推送导航 Controller :
MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
mailViewController.mailComposeDelegate = self;
[mailViewController setSubject:@"Subject Goes Here."];
[mailViewController setMessageBody:@"Your message goes here." isHTML:NO];
[self.navigationController pushViewController:mailViewController animated:YES];

但是当我展示它时:
[self presentModalViewController:mailViewController animated:YES];

mailViewController 仅出现一秒钟然后消失,我看到黑色背景(但不是以前的 VC View ),顶部有一个空导航栏。该应用程序此时仍在运行。

我究竟做错了什么?

最佳答案

如果您仍想推送 mailViewController,您可以这样做(仅限 iOS 7):

UIViewController *theMailViewController = [[mailViewController viewControllers] lastObject];
[self.navigationController pushViewController:theMailViewController animated:YES];

这样,MailViewController 的 rootViewController 将被推送到您的实际导航 Controller 中。

我希望这可以帮助你。

关于iphone - 呈现 MFMailComposeViewController,但它在可见后立即消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9346950/

相关文章:

ios - swift 企鹅错误 : CCPhysicsNode doesn't have a member called 'space'

ios - 我应该对屏幕上可能发生的一切使用 IBAction 吗?

ios - UIView 似乎不记得它的标签

ios - 如何通过 whatsapp 分享文字和图片?

ios - fetchRequest 返回空数组

ios - 隐藏 iOS 9 中 UIWebView 的快捷键盘栏

iphone - 如何从已弹出的 View Controller 类中释放/取消分配/返回?

ios - 进行更改后,Xcode Storyboard不会刷新

iphone - 检测 iOS 的同步事件

ios - 是否可以忽略 iOS 中的一种推送通知