MFMailComposeViewController в Swift не увольняет

Это пример кода:

import UIKit
import MessageUI

class ViewController: UIViewController, MFMailComposeViewControllerDelegate {

@IBAction func showEmail(sender : AnyObject) {
    var emailTitle = "Test Email"
    var messageBody = "This is a test email body"
    var toRecipents = ["[email protected]"]
    var mc: MFMailComposeViewController = MFMailComposeViewController()
    mc.mailComposeDelegate = self
    mc.setSubject(emailTitle)
    mc.setMessageBody(messageBody, isHTML: false)
    mc.setToRecipients(toRecipents)

    self.presentViewController(mc, animated: true, completion: nil)
}

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

func mailComposeController(controller:MFMailComposeViewController, didFinishWithResult result:MFMailComposeResult, error:NSError) {
    switch result.value {
    case MFMailComposeResultCancelled.value:
        NSLog("Mail cancelled")
    case MFMailComposeResultSaved.value:
        NSLog("Mail saved")
    case MFMailComposeResultSent.value:
        NSLog("Mail sent")
    case MFMailComposeResultFailed.value:
        NSLog("Mail sent failure: %@", [error.localizedDescription])
    default:
        break
    }
    self.dismissModalViewControllerAnimated(true)
    // self.dismissViewControllerAnimated(true, completion: nil)
}

}

Когда я нажимаю кнопку, функцияshowEmail выполняется и появляется форма для отправки электронной почты. Если я нажимаю «Отправить», то все работает нормально - почта отправляется, тогда функцияmailComposeController выполнен. NSLog отображает метку"Почта отправлена" и начальный экран появляется снова.

Если я в диалоговом окне отправки почты, нажмите"Отменить" кнопка, то диалог не пропадает, функцияmailComposeController не работает две кнопки - «Отправить» и «Отмена», становящиеся серым цветом и поэтому остаются.

Что не так?

Ответы на вопрос(2)

Ваш ответ на вопрос