use*_*457 1 share facebook popup ios uiactivityviewcontroller
我有一个案例如下:
非常感谢 !!!
小智 6
您需要创建一个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];
}
Run Code Online (Sandbox Code Playgroud)
如果您希望排除任何活动类型,可以添加以下内容:
// add an array of activity types to exclude
activityViewController.excludedActivityTypes = @[UIActivityTypeMail, UIActivityTypeAssignToContact, UIActivityTypePrint, UIActivityTypePostToTwitter, UIActivityTypePostToWeibo];
Run Code Online (Sandbox Code Playgroud)
在呈现activityViewController之前.
此外,要查看"在Facebook上分享"选项,您需要在设备上登录Facebook,如此答案中所述.
///
选项2 - 没有UIActivityController
如果您不想使用活动控制器,而只是直接打开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];
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3098 次 |
最近记录: |