MFMailComposeViewController 返回和发送按钮不起作用
MFMailComposeViewController back and send button not working
我尝试使用 MFMailComposeViewController
在我的应用程序中发送电子邮件。
let email = "..."
let mailComposer = MFMailComposeViewController()
mailComposer.mailComposeDelegate = self
mailComposer.setToRecipients([email])
self.navigationController?.present(mailComposer, animated: true)
在 运行 我的应用程序之后,作曲家屏幕显示,但 cancel
和 send
按钮未显示。我尝试了很多可能的解决方案,如在两个导航控制器中更改 tintColor
。例如:
mailComposer.navigationBar.tintColor = .red
但 "issue" 仍然存在。
有什么想法吗?
请尝试这些代码
class TechSupportVC: UIViewController, MFMailComposeViewControllerDelegate {
let composeVC = MFMailComposeViewController()
override func viewDidLoad() {
super.viewDidLoad()
composeVC.mailComposeDelegate = self
composeVC.setToRecipients(["desiredEmail@gmail.com"])
composeVC.setSubject("My message")
}
func mailComposeController(_ controller: MFMailComposeViewController,
didFinishWith result: MFMailComposeResult,
error: Swift.Error?) {
controller.dismiss(animated: true, completion: nil)
}
@IBAction func sendPressed(_ sender: Any) {
guard MFMailComposeViewController.canSendMail() else {
showMailServiceErrorAlert()
return
}
composeVC.setMessageBody("Test credentials: \(firstAndLastNameTextField.text!)\nPhone: \(numberTextField.text!)\n\n\(messageTextView.text!)", isHTML: false)
self.present(composeVC, animated: true, completion: nil)
}
mailComposeDelegate
应该继承自 UIViewController
。
在其他情况下,关闭 MFMailComposeViewController
不起作用并崩溃。
好像是 Apple bug
我尝试使用 MFMailComposeViewController
在我的应用程序中发送电子邮件。
let email = "..."
let mailComposer = MFMailComposeViewController()
mailComposer.mailComposeDelegate = self
mailComposer.setToRecipients([email])
self.navigationController?.present(mailComposer, animated: true)
在 运行 我的应用程序之后,作曲家屏幕显示,但 cancel
和 send
按钮未显示。我尝试了很多可能的解决方案,如在两个导航控制器中更改 tintColor
。例如:
mailComposer.navigationBar.tintColor = .red
但 "issue" 仍然存在。
有什么想法吗?
请尝试这些代码
class TechSupportVC: UIViewController, MFMailComposeViewControllerDelegate {
let composeVC = MFMailComposeViewController()
override func viewDidLoad() {
super.viewDidLoad()
composeVC.mailComposeDelegate = self
composeVC.setToRecipients(["desiredEmail@gmail.com"])
composeVC.setSubject("My message")
}
func mailComposeController(_ controller: MFMailComposeViewController,
didFinishWith result: MFMailComposeResult,
error: Swift.Error?) {
controller.dismiss(animated: true, completion: nil)
}
@IBAction func sendPressed(_ sender: Any) {
guard MFMailComposeViewController.canSendMail() else {
showMailServiceErrorAlert()
return
}
composeVC.setMessageBody("Test credentials: \(firstAndLastNameTextField.text!)\nPhone: \(numberTextField.text!)\n\n\(messageTextView.text!)", isHTML: false)
self.present(composeVC, animated: true, completion: nil)
}
mailComposeDelegate
应该继承自 UIViewController
。
在其他情况下,关闭 MFMailComposeViewController
不起作用并崩溃。
好像是 Apple bug