导航栏中的Facebook Share按钮显示为无效

我正在尝试将FB Share Button实现到导航栏(使用它的设计)。

我用SLComposeViewController编码共享,一切正常。

我只使用Facebook和Action图标不是我想要的。 我尝试将一个按钮作为FBSDKShareButton添加到导航栏:

在此处输入图像描述

但按钮始终处于非活动状态且看起来很差

在此处输入图像描述

我确信,我在登录到FB的设备上测试我的应用程序。 可能是FBSDKShareButton需要一些关于此的信息吗? 怎么样?

self.fbShareButton.enabled = true 

在viewDidLoad不起作用。

当然,我可以制作通常的UIButton并分配创建(或下载)的图像。 但有了这个,我失去了本地化和resize。

有什么想法吗?

感谢@Bangdel,但我认为发布更详细的答案很有用:

代码是:

 let content : FBSDKShareLinkContent = FBSDKShareLinkContent() content.contentURL = NSURL(string: "http://www.stackoverflow.com") //content.contentTitle = "" //content.contentDescription = "" //content.imageURL = NSURL(string: "") let button : FBSDKShareButton = FBSDKShareButton() button.shareContent = content button.frame = CGRectMake((UIScreen.mainScreen().bounds.width - 100) * 0.5, 6, 100, 32) //You can be more accurate with CGRectMake parameters, //but usual height of navigation bar is 44 self.navigationController!.navigationBar.addSubview(button) 

在最后的FB SDK中,只有一个content.something可以使用。 如果添加了URL – FB将仅发布链接。 Facebook将在页面上找到一个图像,这是适合FB的观点;-)

我在我的设备上测试了这个按钮,它将我链接到那个烦人的页面,当我的设备上已经安装了FB App时,它会询问我的登录名和密码。 在我的测试应用程序中,我使用测试用户登录,并且在安装的应用程序中使用我常用的FB登录,可能是这个问题。

尝试这个

  public void btnClick(View v){ Intent sharingIntent = new Intent(Intent.ACTION_SEND); sharingIntent.setType("text/plain"); //Give any url in uriString uriString = "http://www.opencv-tutorial-codes.blogspot.in"; sharingIntent.putExtra(Intent.EXTRA_TEXT,uriString ); sharingIntent.setPackage("com.facebook.katana"); startActivity(sharingIntent);