使用Apple Mail应用程序Swift 3时拥有HTML正文

时间:2017-07-10 17:58:56

标签: ios swift

所以我知道我们可以使用以下内容调用邮件来使用HTML:

func sendEmail(){
        if MFMailComposeViewController.canSendMail() {
            let mail = MFMailComposeViewController()
            mail.mailComposeDelegate = self
            mail.setToRecipients(["example@gmail.com"])
            mail.setSubject("Example Subject")
            mail.setMessageBody("<H1>Test</H1>", isHTML: true)
            present(mail, animated: true)
        }
    }

但是,我希望使用UIActivityItemProvider添加通用共享功能在实现协议并定义以下方法之后:

override func activityViewController(_ activityViewController: UIActivityViewController, itemForActivityType activityType: UIActivityType) -> Any? {
            if activityType == .mail {
                return "&lt;body&gt;&lt;H1&gt;testing&lt;/H1&gt;&lt;/body&gt;"
            }   

            return "Other String"

    }

但我只是在邮件正文中得到以下内容:<body><H1>testing</H1></body>而不是HTML解释。甚至可以将字符串共享到邮件应用程序,以便呈现HTML吗?

1 个答案:

答案 0 :(得分:0)

使用它,对我来说工作得很好

override func activityViewController(_ activityViewController: UIActivityViewController, itemForActivityType activityType: UIActivityType) -> Any? {
        if activityType == .mail {
            return "<!DOCTYPE HTML SYSTEM><html><head></head><body>Test</body></html>"
        }

        return "Other String"

    }

希望这有助于你