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