Я импортировал MessageUI и создал расширение для включения MFMailComposeViewControllerDelegate, которое включает dismiss (animated: true, completion: nil), и это не закрывает VC, который появляется для отправки сообщения, однако это единственный вариант, который появляется при вводе увольнять. Я не могу сказать, требуется ли это для новой версии Swift, поскольку все другие примеры показывают dismissViewControllerAnimated. Не уверен, что мне не хватает?
Код кнопки действия
@IBAction func sendTapped(_ sender: UIButton) {
let toRecipient = ["\(Constants.SubmitFeedback.feedbackEmail)"]
let mc = MFMailComposeViewController()
mc.mailComposeDelegate = self
mc.setToRecipients(toRecipient)
mc.setSubject("Feedback for Gallery App")
mc.setMessageBody("Name: \(String(describing: nameTextField.text!)) \nEmail: \(String(describing: emailTextField.text!)) \n\nMessage: \n\(String(describing: messageTextField.text!))", isHTML: false)
self.present(mc, animated: true, completion: nil)
}
Расширение с командой "отклонить"
extension FeedViewController: MFMailComposeViewControllerDelegate {
func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) {
switch result.rawValue {
case MFMailComposeResult.cancelled.rawValue:
print("Cancelled")
case MFMailComposeResult.failed.rawValue:
print("Failed")
case MFMailComposeResult.saved.rawValue:
print("Saved")
case MFMailComposeResult.sent.rawValue:
print("Sent")
default:
break
}
dismiss(animated: true, completion: nil)
}
}