Swift Facebook share UIImageview image

问题描述 投票:1回答:2

我想在我的应用程序上设置Facebook共享按钮,以共享从UIImageview加载的图像。我不知道该怎么办。。可以在Facebook共享窗口上添加文本,但不能添加图像。请帮助。

import UIKit
import Social

class ViewController: UIViewController {


    @IBOutlet weak var saveButtonVar: UIButton!
    @IBOutlet weak var image: UIImageView!

    @IBAction func facebookBtn(sender: AnyObject) {
        var facebookBtn : SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
            facebookBtn.setInitialText("I am sharing my motivation with you!")
            facebookBtn.addImage(UIImage(named: "motImg")) //????
        self.presentViewController(facebookBtn, animated: true, completion: nil)

    }

    @IBAction func twitterBtn(sender: AnyObject) {

    }





    @IBAction func saveButton(sender: AnyObject) {

        UIImageWriteToSavedPhotosAlbum(image.image, nil, nil, nil)

        let alertController = UIAlertController(title: "Image Saved!", message:
            "", preferredStyle: UIAlertControllerStyle.Alert)
        alertController.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default,handler: nil))

        self.presentViewController(alertController, animated: true, completion: nil)


    }




    @IBAction func button(sender: AnyObject) {

        load_image("https://dl.dropboxusercontent.com/u/26347781/Images/Image\(arc4random_uniform(17) + 1).jpg")

        saveButtonVar.hidden = false


    }

    func load_image(urlString:String)
    {

        var imgURL: NSURL = NSURL(string: urlString)!
        let request: NSURLRequest = NSURLRequest(URL: imgURL)
        NSURLConnection.sendAsynchronousRequest(
            request, queue: NSOperationQueue.mainQueue(),
            completionHandler: {(response: NSURLResponse!,data: NSData!,error: NSError!) -> Void in
                if error == nil {
                    self.image.image = UIImage(data: data)
                }
        })

    }


    override func viewDidLoad() {

        super.viewDidLoad()

        saveButtonVar.hidden = true

        image.image = UIImage(named: "motImg")



    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }



}
ios facebook swift uiimageview
2个回答
1
投票

Swift 4

集成FacebookShare sdk。

人们可以使用“共享对话框”或自定义界面将您的应用程序中的照片共享到Facebook:

-照片的大小必须小于12MB。

-人们需要安装iOS应用程序7.0或更高版本的本地Facebook

@IBAction func facebookBtn(sender: AnyObject) {
  let shareImage = SharePhoto()
  shareImage.image = imageView.image //Image from your imageview
  shareImage.isUserGenerated = true

  let content = SharePhotoContent()
  content.photos = [shareImage]

  let sharedDialoge = ShareDialog()
  sharedDialoge.shareContent = content

  sharedDialoge.fromViewController = self
  sharedDialoge.mode = .automatic


  if(sharedDialoge.canShow)
  {
    sharedDialoge.show()
  }
  else
  {
    print("Install Facebook client app to share image")
  }
}

0
投票

Hei那里!

查看此人的答案:Swift UIActivityViewController Image&Url Share not working with FB

对于许多人来说,似乎可以使用链接中的示例,因此也许对您也有用。但是,到目前为止,它对我不起作用,我在调查我的问题时遇到了您的问题。

就添加文本而言,我知道此功能已关闭了一段时间,但您应该可以添加URL链接。

让我知道它如何为您工作。

© www.soinside.com 2019 - 2024. All rights reserved.