我想在我的应用程序上设置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.
}
}
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")
}
}
Hei那里!
查看此人的答案:Swift UIActivityViewController Image&Url Share not working with FB
对于许多人来说,似乎可以使用链接中的示例,因此也许对您也有用。但是,到目前为止,它对我不起作用,我在调查我的问题时遇到了您的问题。
就添加文本而言,我知道此功能已关闭了一段时间,但您应该可以添加URL链接。
让我知道它如何为您工作。