Ich hoffe, es geht dir gut.MFMailComposeViewController wird nicht geschlossen (iOS10)
Ich bin sehr neu zu Swift. Ich habe eine iOS-Anwendung auf XCode 8.0 mit dem iOS10 SDK erstellt. Ich versuche, einem Benutzer die Möglichkeit zu geben, eine E-Mail an eine vorkonfigurierte E-Mail-Adresse zu senden. Wenn Sie auf die Senden-Schaltfläche tippen, wird der MFMailComposeViewController normal geöffnet und der Benutzer kann über sein hinzugefügtes E-Mail-Konto senden oder abbrechen. Wenn Sie auf Senden klicken, wird die E-Mail normal gesendet. Der MFMailComposeViewController wird jedoch nicht nach dem Senden einer E-Mail oder beim Klicken auf die Schaltfläche Abbrechen geschlossen. Bitte helfen Sie!
Dank
import UIKit
import MessageUI
class EmailHelpdesk_ViewController: UIViewController, MFMailComposeViewControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//Email Subject and Body text fields.
@IBOutlet var helpdesk_email_subject: UITextField!
@IBOutlet var helpdesk_email_body: UITextView!
//Helpdesk (Submit Button - Config)
@IBAction func helpdesk_email_send(_ sender: AnyObject) {
let HDsubjectText = helpdesk_email_subject.text
let HDbodyText = helpdesk_email_body.text
MFMailComposeViewController to be called.
let mail_controller_compose = MFMailComposeViewController()
mail_controller_compose.mailComposeDelegate = self
mail_controller_compose.setToRecipients(["[email protected]"])
mail_controller_compose.setSubject(HDsubjectText!)
mail_controller_compose.setMessageBody(HDbodyText!, isHTML: false)
self.present(mail_controller_compose, animated: true, completion: nil)
}
func mailComposeController(controller: MFMailComposeViewController,
didFinishWithResult result:MFMailComposeResult, error: NSError?) {
controller.dismiss(animated: true, completion: nil)
}
}
}
Methoden/Funktionen und Variablennamen sollten per Konvention in Camel sein. Verwenden Sie beispielsweise anstelle von 'helpdesk_email_send'' helpdeskEmailSend'. – Adrian