ios8 – 如何显示默认的份额表

我想介绍和使用默认的“分享到其他服务”表,以便分享到微博,脸谱,电子邮件等

我无法弄清楚如何从我的应用程序中显示这个视图 – 我该怎么做?

您可以使用简单的活动控制器来显示默认的共享应用程序使用:

  NSArray *activityItems = [NSArray arrayWithObjects:shareString, shareImage, shareUrl, nil]; UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil]; activityViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical; [self presentViewController:activityViewController animated:YES completion:nil]; 

你也可以使用它的完成处理程序:

 [activityViewController setCompletionHandler:^(NSString *act, BOOL done) { //Code here when the action performed. }]; 

这将显示所有默认的共享应用程序。

这是一个从UIBarButtonItem触发的“共享”popup窗口的解决scheme,可以在iPhone和iPad上使用:

 // "Share" action - (IBAction)share:(UIBarButtonItem *)sender { NSString* title = "Content Title"; NSString* link = "http://example.com/content.url"; NSArray* dataToShare = @[title, link]; UIActivityViewController* activityViewController = [[UIActivityViewController alloc] initWithActivityItems:dataToShare applicationActivities:nil]; // This is key for iOS 8+ activityViewController.popoverPresentationController.barButtonItem = sender; [self presentViewController:activityViewController animated:YES completion:^{}]; } 

这里有一个简单的例子:

 let activityViewController = UIActivityViewController(activityItems: ["Share Me!"], applicationActivities: nil) activityViewController.completionWithItemsHandler = { [weak self] activityType, completed, returnedItems, activityError in // Note: you won't need returnedItems in most cases // It is included in this example for completion's sake } present(activityViewController, animated: true, completion: nil) 

有关完成处理程序的完整文档,请访问: https : //developer.apple.com/documentation/uikit/uiactivityviewcontrollercompletionwithitemshandler