我想问一个关于Swift上MFMailComposer使用的问题。
我正在创建下面的电子邮件模板。它起作用了。但是,它将“可选”标记放在每个标签数据之前。有谁可以帮我?我该怎么修剪那个标签?谢谢!
下面我分享我的截图。
这是我的密码
@IBAction func sendEmailClicked(_ sender: AnyObject) {
let dateString: String = DateFormatter.localizedString(from: Date(), dateStyle: .short, timeStyle: .short)
let body = "Lorem Ipsum <strong>\(dateString)</strong> dolor sit amet. <br><br><p><strong>\(String(describing: detailedLabel.text)).</strong></p><br>Lorem ipsum dolor sit amet.<br><br><p> <strong>\(String(describing: taskDescriptionTextView.text))</strong></p>"
mailComposer = MFMailComposeViewController()
mailComposer.mailComposeDelegate = self
mailComposer.setToRecipients(["acme@acme.com"])
mailComposer.setSubject("\(dateString) Lorem Ipsum dolor sit amet.")
mailComposer.setMessageBody(body, isHTML: true)
if let image = self.taskPhotoImageView.image {
let imageData: Data = UIImagePNGRepresentation(image)!
mailComposer.addAttachmentData(imageData, mimeType: "image/jpg", fileName: "image.jpg")
}
self.present(mailComposer, animated: true) {}
}}
发布于 2018-10-02 14:36:50
您的detailedLabel.text和taskDescriptionTextView.text都是选项,您应该在使用它们之前展开它们。
guard let detailText = detailedLabel.text, let descriptionText = taskDescriptionTextView.text else {
//error handling
return
}现在您可以在您的身体字符串中使用它们了。
let body = "Lorem Ipsum <strong>\(dateString)</strong> dolor sit amet. <br><br><p><strong>\(detailText).</strong></p><br>Lorem ipsum dolor sit amet.<br><br><p> <strong>\(descriptionText)</strong></p>"https://stackoverflow.com/questions/52610469
复制相似问题