Swift Facebook分享UIImageview图片 [英] Swift Facebook share UIImageview image

查看:34
本文介绍了Swift Facebook分享UIImageview图片的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I would like to make Facebook share button on my app that shares the image that is loaded from the UIImageview. I cannot figure out how to do it.. There is option to add the text on Facebook share window, but can't add the image. Please help.

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.
    }



}

推荐答案

Swift 4

集成FacebookShare sdk.

Integrate FacebookShare sdk.

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

People can share photos from your app to Facebook with the Share Dialog or with a custom interface:

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

-Photos must be less than 12MB in size.

-人们需要安装iOS 7.0或更高版本的本机Facebook.

-People need the native Facebook for iOS app installed, version 7.0 or higher

@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")
  }
}

这篇关于Swift Facebook分享UIImageview图片的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆