如何在 Facebook SDK 中创建自定义分享按钮
Posted
技术标签:
【中文标题】如何在 Facebook SDK 中创建自定义分享按钮【英文标题】:How to create a custom share button in Facebook SDK 【发布时间】:2016-04-16 18:15:10 【问题描述】:我尝试在 Facebook SDK 中创建自定义分享按钮,但我遇到了问题。按照 Facebook 文档,在我的案例中分享 Button 如下所示:
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
分享我的内容。我是否可以在自己的按钮中调用此操作?如果是,我该怎么做?
【问题讨论】:
【参考方案1】:我有解决这个问题的办法:
我们需要创建一个 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 按钮。
【讨论】:
谢谢,sendActionsForControlEvents(.TouchUpInside)
- 重点。
您将如何在 postfacebook 方法中访问“shareButton”? @PiterPan
将let shareButton = FBSDKShareButton()
定义为类属性,那么您将有可能在有趣的范围内使用它@Aashish【参考方案2】:
使用最新的 FBSDKShareKit,您可以将以下内容添加到自定义按钮的操作处理程序中
let dialog = ShareDialog()
dialog.shareContent = content
dialog.show()
【讨论】:
以上是关于如何在 Facebook SDK 中创建自定义分享按钮的主要内容,如果未能解决你的问题,请参考以下文章