MFMailComposerに問題があります。私は、Swift Codeの例を使って、iOSデベロッパーのためにこのガイドに従ってきました。スライドメニューのSwift Dismiss Mail Controller
私もこのサイトで次の同様の質問を見て撮影した:
swift - dismissing mail view controller from Sprite Kit
MFMailComposeViewController in Swift does not dismiss
リンクフレームワーク&ライブラリ:MessagesUI.framework
import MessageUI
class FHCLLeftMenuViewController: FHBaseViewController,UITableViewDelegate,UITableViewDataSource,MFMailComposeViewControllerDelegate
を私は、私のアプリの左のスライドメニューのサポートテキストをタップすると、メールアプリが来るp、私は電子メールを作成し、送信をクリックします。電子メールは受信トレイに表示されますが、コントローラはメールを送信してもそれ自体を却下しません。これはドラフトを削除しようとしたときにも発生し、アプリを終了して再起動する必要があります。
case kFHCLMenuTagSupport:
//PT DashBoard
if !MFMailComposeViewController.canSendMail() {
print("Mail services are not available")
return
}
let composeVC = MFMailComposeViewController()
composeVC.mailComposeDelegate = self
// Configure the fields of the interface.
composeVC.setToRecipients(["[email protected]"])
composeVC.setSubject("Client Support")
composeVC.setMessageBody("Some text here.", isHTML: false)
// Present the view controller modally.
self.presentViewController(composeVC, animated: true, completion: nil)
func mailComposeController(controller: MFMailComposeViewController,
didFinishWithResult result: MFMailComposeResult, error: NSError?) {
// Check the result or perform other tasks.
// Dismiss the mail compose view controller.
self.dismissViewControllerAnimated(true, completion: nil)
}
break
私も同じ結果とアプリのメインダッシュボードに戻すには、このバリエーションを試してみた:
case kFHCLMenuTagSupport:
//PT DashBoard
let storyboard = UIStoryboard(name: "Client", bundle: nil)
// Create View Controllers
let mainPage:FHClientDashBoardViewController = storyboard.instantiateViewControllerWithIdentifier("FHClientDashBoardViewController") as! FHClientDashBoardViewController
let mainPageNav = UINavigationController(rootViewController: mainPage)
if !MFMailComposeViewController.canSendMail() {
print("Mail services are not available")
return
}
let composeVC = MFMailComposeViewController()
composeVC.mailComposeDelegate = self
// Configure the fields of the interface.
composeVC.setToRecipients(["[email protected]"])
composeVC.setSubject("Client Support")
composeVC.setMessageBody("Some text here.", isHTML: false)
// Present the view controller modally.
self.presentViewController(composeVC, animated: true, completion: nil)
func mailComposeController(controller: MFMailComposeViewController,
didFinishWithResult result: MFMailComposeResult, error: NSError?) {
// Check the result or perform other tasks.
// Dismiss the mail compose view controller.
// self.dismissViewControllerAnimated(true, completion: nil)
self.mm_drawerController.setCenterViewController(mainPageNav, withCloseAnimation: true, completion: nil)
}
break
任意の助けが理解されるであろう。
'MFMailComposeViewController'または' FHCLLeftMenuViewController'を終了しますか? – kabiroberai