2016-03-03 45 views
0

我從UITextfields通過UIButton發送一封電子郵件,並帶有以下參數。Swift /如何使MFMailComposeViewController消失

let mc: MFMailComposeViewController = MFMailComposeViewController() 
    mc.mailComposeDelegate = self 
    mc.setSubject("Neue Reservierungsanfrage") 
    mc.setMessageBody(messageBody, isHTML: false) 
    mc.setToRecipients(["[email protected]"]) 
    self.presentViewController(mc, animated: true, completion: nil) 

無論我是否按取消或發送,電子郵件發送屏幕不會消失。

我怎樣才能讓屏幕消失,並且一旦用戶按下「發送」按鈕就會彈出一個確認彈出窗口?

幫助非常感謝。

回答

1

您需要實現協議MFMailComposeViewControllerDelegate與方法mailComposeController(_:didFinishWithResult:error:)

在此方法中,你可以辭退郵件撰寫視圖控制器。不過,我不確定是否可以向用戶顯示確認框,因爲此按鈕由郵件編輯器視圖控制器處理。郵件撰寫對象的

組代表:

let mc: MFMailComposeViewController = MFMailComposeViewController() 
mc.delegate = self 
mc.mailComposeDelegate = self 
mc.setSubject("Neue Reservierungsanfrage") 
mc.setMessageBody(messageBody, isHTML: false) 
mc.setToRecipients(["[email protected]"]) 
self.presentViewController(mc, animated: true, completion: nil) 

方法:

func mailComposeController(controller: MFMailComposeViewController, didFinishWithResult result: MFMailComposeResult, error: NSError?) { 
    controller.dismissViewControllerAnimated(true, completion: nil) 
} 

不要忘記添加MFMailComposeViewControllerDelegate到類定義。

相關問題