我正在通过UIButton从UITextfields发送一封电子邮件,其中包含以下参数。
let mc: MFMailComposeViewController = MFMailComposeViewController()
mc.mailComposeDelegate = self
mc.setSubject("Neue Reservierungsanfrage")
mc.setMessageBody(messageBody, isHTML: false)
mc.setToRecipients(["email@live.de"])
self.presentViewController(mc, animated: true, completion: nil)
无论我是按取消还是发送,电子邮件发送屏幕都不会消失。
如果用户按下“发送”,我怎么能让屏幕消失并按下确认弹出窗口?
非常感谢帮助。
答案 0 :(得分:1)
您需要使用方法MFMailComposeViewControllerDelegate
mailComposeController(_:didFinishWithResult:error:)
在此方法中,您可以关闭邮件编辑器视图控制器。但是我不确定是否可以向用户显示确认框,因为此按钮由邮件编辑器视图控制器处理。
设置邮件编辑器对象的委托:
let mc: MFMailComposeViewController = MFMailComposeViewController()
mc.delegate = self
mc.mailComposeDelegate = self
mc.setSubject("Neue Reservierungsanfrage")
mc.setMessageBody(messageBody, isHTML: false)
mc.setToRecipients(["email@live.de"])
self.presentViewController(mc, animated: true, completion: nil)
方法:
func mailComposeController(controller: MFMailComposeViewController, didFinishWithResult result: MFMailComposeResult, error: NSError?) {
controller.dismissViewControllerAnimated(true, completion: nil)
}
不要忘记将MFMailComposeViewControllerDelegate
添加到您的班级定义中。