我需要在我的应用程序的一个视图控制器上有一个Facebook共享按钮,这样当用户推送它时,它将共享用户当前屏幕的截图到Facebook.
我一直在观看一些关于如何实现Facebook共享按钮的教程:https://www.youtube.com/watch?v = 774_-cTjnVM
但这些只显示了我如何在Facebook上分享信息,我仍然有点困惑如何分享用户当前正在与之交互的整个屏幕.
直接与Facebook共享并不难.首先,导入Social
框架:
import Social
现在将其添加为按钮的操作:
let screen = UIScreen.mainScreen() if let window = UIApplication.sharedApplication().keyWindow { UIGraphicsBeginImageContextWithOptions(screen.bounds.size, false, 0); window.drawViewHierarchyInRect(window.bounds, afterScreenUpdates: false) let image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); let composeSheet = SLComposeViewController(forServiceType: SLServiceTypeFacebook) composeSheet.setInitialText("Hello, Facebook!") composeSheet.addImage(image) presentViewController(composeSheet, animated: true, completion: nil) }
您可能有兴趣知道UIActivityViewController
让用户分享到Facebook以及其他服务.上面的代码是针对您的确切问题:与Facebook共享.此代码呈现整个可见屏幕; 如果需要,您还可以自己渲染个人视图.
注意:正如Duncan C在下面的评论中指出的那样,此呈现代码不会包含应用程序之外的任何内容,例如其他应用程序或系统控件.