如何在swift*享图像和文本?
问题描述:
我试图在swift*享图像和文本。但是当我选择通过Facebook,Messenger或WhatsApp共享时,它只会提供文本(图像不共享)。我正在使用UIActivityViewController进行共享。如何在swift*享图像和文本?
这里是我的代码:
func displayShareSheet(latitude:NSString?, longitude:NSString?, image:UIImage?, address:NSString?) {
let activityViewController = UIActivityViewController(activityItems: [(latitude as NSString?)!, (longitude as NSString?)!, (image as UIImage?)!, (address as NSString?)!], applicationActivities: nil)
presentViewController(activityViewController, animated: true, completion: {}
)
}
答
以下是UIActivityViewController
代码适用于我。还附加了两种方法的屏幕截图。
func shareImage() {
let img = UIImage(named: "SoSampleImage")
let messageStr = "Ketan SO"
let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: [img!, messageStr], applicationActivities: nil)
activityViewController.excludedActivityTypes = [UIActivityTypePrint, UIActivityTypePostToWeibo, UIActivityTypeCopyToPasteboard, UIActivityTypeAddToReadingList, UIActivityTypePostToVimeo]
self.presentViewController(activityViewController, animated: true, completion: nil)
}
截屏UIActivityViewController例如:
替代使用SLComposeViewController:
func share(){
let img = UIImage(named: "SoSampleImage")
let composeSheet = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
composeSheet.setInitialText("Hello, Ketan!")
composeSheet.addImage(img)
self.presentViewController(composeSheet, animated: true, completion: nil)
}
截屏SLComposeViewController例如:
希望它会帮助你..
做让我知道,如果您有任何疑问。
答
试试这个这是为我工作!
@IBAction func btnExport(sender: AnyObject)
{
print("Export")
let someText:String = "Hello want to share text also"
let objectsToShare:UIImage = self.imgView.image!
let sharedObjects:[AnyObject] = [objectsToShare,someText]
let activityViewController = UIActivityViewController(activityItems : sharedObjects, applicationActivities: nil)
activityViewController.popoverPresentationController?.sourceView = self.view
activityViewController.excludedActivityTypes = [ UIActivityTypeAirDrop, UIActivityTypePostToFacebook,UIActivityTypePostToTwitter]
self.presentViewController(activityViewController, animated: true, completion: nil)
}
+0
它不适用于facebook,whatsapp aan messenger。 如果你想发送邮件或文本这个作品。 – hussain
你可以试试这个http://*.com/questions/35931946/basic-example-for-sharing-text-or-image-with-uiactivityviewcontroller-in-swift –
这将共享图像或文本。我希望这两件事能够共享。 @Sanjeetverma – hussain
看到我的答案在下面! –