如何使用swift使用UIActivityViewController只通过电子邮件分享

时间:2015-09-03 23:38:59

标签: ios iphone swift

 let activityViewController = UIActivityViewController (activityItems: contentArray, applicationActivities:nil)
        if let popoverController = activityViewController.popoverPresentationController {
            popoverController.sourceView = sender

        }
        self.presentViewController(activityViewController, animated: true, completion: nil)

所以基本上我只想通过邮件分享内容,我不想显示消息选项。 你能帮帮我吗?另外,我想通过代码

设置电子邮件的主题

1 个答案:

答案 0 :(得分:4)

只需添加excludedActivityTypes即可删除除电子邮件之外的所有其他活动

yourActivityViewController.excludedActivityTypes = [ UIActivityTypePostToFacebook, UIActivityTypePostToTwitter, UIActivityTypePostToWeibo, UIActivityTypeMessage, UIActivityTypePrint, UIActivityTypeCopyToPasteboard,UIActivityTypeAssignToContact,UIActivityTypeSaveToCameraRoll,UIActivityTypeAddToReadingList, UIActivityTypePostToFlickr, UIActivityTypePostToVimeo,UIActivityTypePostToTencentWeibo,UIActivityTypeAirDrop]

添加主题

 yourActivityViewController.setValue("Your email Subject" , forKey: "subject") ;

Suggession: - 您还可以使用MFMailComposeViewController发送电子邮件

 var picker = MFMailComposeViewController()
    picker.mailComposeDelegate = self
    picker.setSubject(subject.text)
    picker.setMessageBody(body.text, isHTML: true)

    presentViewController(picker, animated: true, completion: nil)

更多参考资料: - How do I use UIActivityItemProvider to send an email with attachment with UIActivityViewController?

iOS 8 - Disable iCloud Photo Sharing Activity