从模态(MFMailComposeViewController)解散到主视图控制器

Dismissing to main view controller from modal(MFMailComposeViewController)

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

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

但是当我关闭 mailCont 时,我想返回到主视图控制器。

我尝试过的其中一件事是将组合视图控制器推送到导航堆栈,然后使用 popToRootViewController。虽然 运行 在 iOS 8 上有效,但在 iOS 7 上它崩溃并出现错误,说它无法将导航控制器推送到导航堆栈。
我在互联网上看了很多,但找不到最适合我的解决方案。那么有什么解决办法吗?谢谢!

在呈现 MFMailComposeViewController 时将 MFMailComposeViewController 的委托设置为您的 Compose View Controller 然后在委托

的实现中
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error

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