我有一个案例如下:
太感谢了 !!!
最佳答案
您需要创建一个 UIActivityViewController 并指定要共享的项目:
- (IBAction)buttonPressed:(id)sender
{
NSString *textToShare = @"Put text here";
UIImage *imageToShare = _img;
NSArray *itemsToShare = @[textToShare, imageToShare];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:itemsToShare applicationActivities:nil];
[self presentViewController:activityViewController animated:TRUE completion:nil];
}
如果您希望排除任何 activity types您可以通过添加:
// add an array of activity types to exclude
activityViewController.excludedActivityTypes = @[UIActivityTypeMail, UIActivityTypeAssignToContact, UIActivityTypePrint, UIActivityTypePostToTwitter, UIActivityTypePostToWeibo];
在展示 activityViewController 之前。
此外,要查看“在 Facebook 上分享”选项,您需要在设备上登录 Facebook,如 this answer 中所述。 .
///
选项 2 - 没有 UIActivityController
如果您不想使用 Activity Controller,而是直接打开 iOS 社交分享对话框,您可以通过导入
Social
来实现。框架,然后使用 Social Compose View Controller (SLComposeViewController
)// import Social framework
#import <Social/Social.h>
// check if there is an account for Facebook
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
{
SLComposeViewController *fbController=[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
// set up a completion handler (optional)
SLComposeViewControllerCompletionHandler __block completionHandler=^(SLComposeViewControllerResult result){
[fbController dismissViewControllerAnimated:YES completion:nil];
switch(result){
case SLComposeViewControllerResultCancelled:
default:
break;
case SLComposeViewControllerResultDone:
break;
}};
[fbController addImage:imageToPost];
[fbController setInitialText:textToPost];
[fbController addURL:urlToPost];
[fbController setCompletionHandler:completionHandler];
[self presentViewController:fbController animated:YES completion:nil];
}
关于ios - 如何从 UIActivityViewController 仅获取操作按钮共享 facebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27198264/