我正在尝试将FB Share按钮实现到导航栏(使用它的设计)。
我使用SLComposeViewController编码共享,一切正常。
我只使用Facebook和Action图标不是我想要的。 我尝试将一个按钮作为FBSDKShareButton添加到导航栏:
但按钮始终处于非活动状态并且看起来很差:
我确信,我在登录到FB的设备上测试我的应用程序。可能是FBSDKShareButton需要一些关于此的信息吗?怎么样?
self.fbShareButton.enabled = true
在viewDidLoad中不起作用。
当然,我可以制作通常的UIButton并分配创建(或下载)的图像。但有了这个,我失去了本地化和调整大小。
有什么想法吗?
答案 0 :(得分:0)
感谢@Bangdel,但我认为发布更详细的答案很有用:
代码是:
let content : FBSDKShareLinkContent = FBSDKShareLinkContent()
content.contentURL = NSURL(string: "http://www.stackoverflow.com")
//content.contentTitle = "<INSERT STRING HERE>"
//content.contentDescription = "<INSERT STRING HERE>"
//content.imageURL = NSURL(string: "<INSERT STRING HERE>")
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登录,可能是这个问题。
答案 1 :(得分:0)
试试这个
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);