Я хочу отправить электронное письмо от моего приложения Swift, и он хорошо работает, он отправляет электронное письмо.Как закрыть MFMailComposeViewController?
Тем не менее, после отправки письма макет не завершается. Я хочу выйти из макета после отправки сообщения электронной почты. Я также хочу это поведение, когда я нажимаю кнопку «Отменить», «Удалить черновик» или «Сохранить черновик».
Это код, который я должен отправить по электронной почте (после нажатия кнопки):
@IBAction func btnSendEmailAction(_ sender: AnyObject) {
let composeVC = MFMailComposeViewController()
composeVC.mailComposeDelegate = self
composeVC.setToRecipients(["[email protected]"])
composeVC.setSubject("Hello!")
composeVC.setMessageBody("Hello World!", isHTML: false)
self.present(composeVC, animated: true, completion: nil)
}
func mailComposeController(controller: MFMailComposeViewController,
didFinishWithResult result: MFMailComposeResult, error: NSError?) {
switch result {
case MFMailComposeResult.cancelled:
controller.dismiss(animated: true, completion: nil)
break
case MFMailComposeResult.sent:
controller.dismiss(animated: true, completion: nil)
break
case MFMailComposeResult.failed:
controller.dismiss(animated: true, completion: nil)
break
default:
break
}
controller.dismiss(animated: true, completion: nil)
}
но расположение не завершает работу при нажатии на Cancel или Переданные кнопки.
Я знаю, что есть много вопросов, связанных с этой проблемой, но я их много смотрел, и это код, который я мог бы получить из смеси некоторых из них. Обратите внимание, что большинство из них находятся в Objective вместо Swift (а иногда и методов не существует).
Пример: iPhone: How to Close MFMailComposeViewController?
я упускаю что-то в моем коде? Как я могу определить «Удалить проект» и «Сохранить черновик»?
Заранее благодарен!
Если вы собираетесь уволить 'controller' в любом случае, почему бы не вынуть ключ и просто' controller.dismiss (анимированный: истинное, завершение: ноль) ' – Adrian
@Adrian, потому что он не отклонил контроллер, поэтому я попытался сосредоточиться в каждом случае отдельно. –
@ Аниш 웃 Что вы имеете в виду? –