如何在 Facebook SDK 中创建自定义分享按钮

How to create a custom share button in Facebook SDK

我尝试在 Facebook SDK 中创建自定义分享按钮,但我遇到了问题。按照 Facebook 文档,在我的案例中分享按钮如下​​所示:

let content = FBSDKShareLinkContent()
content.contentTitle = "\(postTitle)"
content.contentURL = NSURL(string:"\(www)")

let shareButton = FBSDKShareButton()
shareButton.shareContent = content
shareButton.center = selfview.center
self.view.addSubiview(shareButton)

它可以工作,但我有一个默认按钮,它在我的布局中看起来不太好。我希望有可能使用我自己的按钮 facebookShareButton: UIButton 分享我的内容。我可以在自己的按钮中调用此操作吗?如果是,我该怎么做?

我有解决这个问题的方法:

我们需要创建一个 UIButton 插座,例如 @IBOutlet weak var facebookOutlet: UIButton!,然后在 viewDidLoad()

中添加代码
  facebookOutlet.addTarget(self, action: #selector(ViewController.postFacebook(_:)), forControlEvents: .TouchUpInside)

然后在viewDidAppear()中我们需要添加:

let content = FBSDKShareLinkContent()
content.contentTitle = "\(postTitle)"
content.contentURL = NSURL(string:"\(www)")

let shareButton = FBSDKShareButton()
shareButton.shareContent = content
shareButton.center = self.view.center
self.view.addSubview(shareButton)

然后在按钮的动作中我们需要添加:

func postFacebook(sender: UIButton){
    shareButton.sendActionsForControlEvents(.TouchUpInside)
}

它运行完美,允许我们创建自定义 facebook 按钮。

使用最新的 FBSDKShareKit,您可以将以下内容添加到自定义按钮的操作处理程序中

let dialog = ShareDialog()
dialog.shareContent = content
dialog.show()