我有一个以模态方式呈现的视图控制器,让人们注册然后调用https
的简报。邮件发送后,我希望能够在电子邮件窗口中单击发送后关闭模态视图控制器。这可能吗?
这被错误地标记为重复,因为我的代码结构如下:
CustomViewController调用ModalViewController ModalViewController调用MailComposer 用户点击发送后,ModalViewController需要被解雇。
答案 0 :(得分:0)
检查mailComposeController(_:didFinishWith:error:)
为MFMailComposeResult
后,您应该在sent
中解除控制器。
func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) {
controller.dismiss(animated: true)
if result == .sent {
dismiss(animated: true)
}
}
请记住,您应该设置邮件撰写视图控制器的委托,并且您的视图控制器应符合MFMailComposeViewControllerDelegate
协议:
class CustomViewController: UIViewController, MFMailComposeViewControllerDelegate {
fileprivate var mailComposeVc: MFMailComposeViewController!
[...]
func someFunc() {
mailComposeVc.delegate = self
}
}