如何在swift*享图像和文本?

如何在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: {} 
) 
} 
+0

你可以试试这个http://*.com/questions/35931946/basic-example-for-sharing-text-or-image-with-uiactivityviewcontroller-in-swift –

+0

这将共享图像或文本。我希望这两件事能够共享。 @Sanjeetverma – hussain

+0

看到我的答案在下面! –

以下是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例如:

enter image description here

替代使用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例如:

enter image description here

希望它会帮助你..

做让我知道,如果您有任何疑问。

+0

这只适用于Facebook吗?或一切@Ketan P – hussain

+0

@hussain你的问题是为FB,所以我只准备FB的代码...但我认为它应该适用于所有支持图像和文本共享的选项... –

+0

好的谢谢,让我试试并让你知道 – hussain

试试这个这是为我工作!

@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