使用UIActivityViewController共享图像

使用UIActivityViewControllerUIImageView共享图像?

我试图使用UIActivityViewController共享一个图像,但我得到错误:

 func shareIMG(){ let activityItems = [self.imageView.image] let avc = UIActivityViewController(activityItems: activityItems, applicationActivities: nil) self.presentViewController(avc, animated: true, completion: nil) } 

错误信息:

找不到types为“UIActivityViewController”的初始值设定项,它接受types为“(activityItems:[UIImage?],applicationActivities:nil”)的参数列表

有任何想法吗?

 let activityItem: [AnyObject] = [self.imageView.image as! AnyObject] let avc = UIActivityViewController(activityItems: activityItem as [AnyObject], applicationActivities: nil) self.presentViewController(avc, animated: true, completion: nil) 

注意 :上面的代码在Xcode 6.3模拟器中testing过

只要创build一个button,它的行动。 并像这样安装button的动作。

注意:您必须通过设置login您的Facebook或Twitter。 那就这样做吧。

 @IBAction func onShareTouched(sender: AnyObject) { print("share") let myShare = "My beautiful photo! <3 <3" let image: UIImage = UIImage(named: "yourImageNameHere") let shareVC: UIActivityViewController = UIActivityViewController(activityItems: [(image), myShare], applicationActivities: nil) self.presentViewController(shareVC, animated: true, completion: nil) } 

完整的代码工作iPhone和iPads的Swift:

 func share(sender: UIButton){ let img: UIImage = UIImage(named: "lenna")! let messageStr:String = "some sharing text" let shareItems:Array = [img, messageStr] activityViewController = UIActivityViewController(activityItems: shareItems, applicationActivities: nil) activityViewController!.excludedActivityTypes = [UIActivityTypePrint, UIActivityTypePostToWeibo, UIActivityTypeCopyToPasteboard, UIActivityTypeAddToReadingList, UIActivityTypePostToVimeo] if UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiom.Phone { self.presentViewController(activityViewController!, animated: true, completion: nil) } else { let popup: UIPopoverController = UIPopoverController(contentViewController: activityViewController!) popup.presentPopoverFromRect(sender.bounds, inView: sender, permittedArrowDirections: UIPopoverArrowDirection.Any, animated: true) } } 

它看起来像你需要打开activityItems!