Swift : 使用 UIActivityViewController 分享图片
Swift : Share image using UIActivityViewController
我想使用 ActivityViewController
通过点击按钮分享 QR 图片。
下面是我用过的代码:
@IBAction func btnShareQRCode_Clicked(sender: UIButton) {
self.shareQRCodeUsingActivityViewController(self.imageviewQRCode.image!)
}
func shareQRCodeUsingActivityViewController(imageParamater: UIImage) {
let activityItem: [UIImage] = [imageParamater as UIImage]
let objActivityViewController = UIActivityViewController(activityItems: activityItem as [UIImage], applicationActivities: nil)
objActivityViewController.excludedActivityTypes = [UIActivityTypeAirDrop, UIActivityTypeAddToReadingList]
// objActivityViewController.popoverPresentationController?.sourceView = sender
self.presentViewController(objActivityViewController, animated: true, completion: {
objActivityViewController.completionWithItemsHandler = { activity, success, items, error in
if !success { print("cancelled")
return
}
if activity == UIActivityTypeMail {
print("mail")
}
else if activity == UIActivityTypeMessage {
print("message")
}
else if activity == UIActivityTypeSaveToCameraRoll {
print("camera")
}
}
})
}
func completionHandler() {
}
这个问题是它在邮件上崩溃,指出有关 MailComposer 的错误。
我想知道应该如何以及在何处处理这些 MailComposer 函数?
如果你在iOS模拟器上运行这个,邮件组件很可能会失败。
除此之外,我认为您不需要将 activity 项列表转换为 UIImage
。只需将对象数组作为 activityItems
数组。
我想使用 ActivityViewController
通过点击按钮分享 QR 图片。
下面是我用过的代码:
@IBAction func btnShareQRCode_Clicked(sender: UIButton) {
self.shareQRCodeUsingActivityViewController(self.imageviewQRCode.image!)
}
func shareQRCodeUsingActivityViewController(imageParamater: UIImage) {
let activityItem: [UIImage] = [imageParamater as UIImage]
let objActivityViewController = UIActivityViewController(activityItems: activityItem as [UIImage], applicationActivities: nil)
objActivityViewController.excludedActivityTypes = [UIActivityTypeAirDrop, UIActivityTypeAddToReadingList]
// objActivityViewController.popoverPresentationController?.sourceView = sender
self.presentViewController(objActivityViewController, animated: true, completion: {
objActivityViewController.completionWithItemsHandler = { activity, success, items, error in
if !success { print("cancelled")
return
}
if activity == UIActivityTypeMail {
print("mail")
}
else if activity == UIActivityTypeMessage {
print("message")
}
else if activity == UIActivityTypeSaveToCameraRoll {
print("camera")
}
}
})
}
func completionHandler() {
}
这个问题是它在邮件上崩溃,指出有关 MailComposer 的错误。
我想知道应该如何以及在何处处理这些 MailComposer 函数?
如果你在iOS模拟器上运行这个,邮件组件很可能会失败。
除此之外,我认为您不需要将 activity 项列表转换为 UIImage
。只需将对象数组作为 activityItems
数组。