2017-02-04 7 views
0

Я хочу сообщить предупреждение, когда пользователь отменяет электронную почту. Для этого я использую следующий код:Свифт-шоу в MFMailComposeViewController didFinishВ результате

func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) { 

    if result == .cancelled { 

     let alertController = UIAlertController(title: "E-Mail not sent!", message: "E-Mail not sent.", preferredStyle: .alert) 

     alertController.addAction(UIAlertAction(title: "OK", style: .cancel, handler: { (action: UIAlertAction!) in 
     })) 

     present(alertController, animated: true, completion: nil) 
    } 

    controller.dismiss(animated: true, completion: nil) 
} 

Эта функция вызывается, и Mail View отклоняется, но предупреждение не отображается. Я использую этот код внутри UITableViewController. Может ли кто-нибудь помочь мне, пожалуйста?

ответ

1

Показать предупреждениеКонтроллер внутри блока завершения.

controller.dismiss(animated: true, completion: { 
if result == .cancelled { 
     let alertController = UIAlertController(title: "E-Mail not sent!", message: "E-Mail not sent.", preferredStyle: .alert) 

     alertController.addAction(UIAlertAction(title: "OK", style: .cancel, handler: { (action: UIAlertAction!) in 
     })) 

     present(alertController, animated: true, completion: nil) 
    } 
}) 

как это ..

+0

так просто ... Спасибо :) –