从modal(MFMailComposeViewController)中删除主视图控制器

时间:2015-02-08 16:50:38

标签: ios objective-c uiviewcontroller uinavigationcontroller mfmailcomposeviewcontroller

在我的应用程序中,我有一个主视图控制器和一个组合视图控制器(正在主推上)。在撰写视图控制器中,我像这样(模态)呈现MFMailComposeViewController

[self presentViewController:mailCont animated:YES completion:nil];

但当我解雇mailCont时,我想回到主视图控制器。

我尝试过的一件事就是将撰写视图控制器推送到导航堆栈,然后使用popToRootViewController。虽然在iOS 8上运行但它可以工作,但在iOS 7上它崩溃时出现错误,说它无法将导航控制器推入导航堆栈。
我在互联网上看了很多,但无法找到最适合我的解决方案。任何解决方案?谢谢!

1 个答案:

答案 0 :(得分:0)

在提交MFMailComposeViewController时,将MFMailComposeViewController的委托设置为您的Compose View Controller然后执行委托

- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error

您可以关闭MFMailComposeViewController并在解除完成块中弹出撰写视图控制器,以导航回主视图控制器。