我在iOS 6 SDK中使用以下代码来实现UIActivityViewController:
-(IBAction)Share:(id)sender
{
NSArray *activityItems = @[self.title, urlString];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
[self presentViewController:activityVC animated:YES completion:nil];
[activityVC setCompletionHandler:^(NSString *activityType, BOOL completed)
{
NSLog(@"Activity = %@",activityType);
NSLog(@"Completed Status = %d",completed);
if (completed)
{
UIAlertView *objalert = [[UIAlertView alloc]initWithTitle:@"Alert" message:@"Successfully Shared" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[objalert show];
objalert = nil;
} else
{
UIAlertView *objalert = [[UIAlertView alloc]initWithTitle:@"Alert" message:@"Unable To Share" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[objalert show];
objalert = nil;
}
}];
}
iOS 7中的上述代码给出了以下输出:
早些时候,在分享表中没有Facebook和Twitter,但我在设置和Facebook上签署了这两个应用程序,Twitter开始出现。
问题: Belo行,只有COPY和其他类似BOOKMARK,添加到阅读列表,添加到HOMESCREEN,PRINT和AirDrop按钮都没有显示出来。我能做些什么呢?谢谢!
更新:我已经使用下面的一个答案添加了打印按钮,我该如何添加其余的?
答案 0 :(得分:4)
书签,添加到阅读列表和添加到主屏幕仅在Safari中可用,除非您自己定义它们。要添加这些按钮,您需要创建applicationActivities
NSArray
,并使用UIActivity
对象填充各种服务。您可以将此数组传递到initWithActivityItems:applicationActivities:
UIActivityViewController
方法(您为此参数传递了nil)。
答案 1 :(得分:3)
您应该使用UISimpleTextPrintFormatter来显示PRINT:
UISimpleTextPrintFormatter *printData = [[UISimpleTextPrintFormatter alloc]
initWithText:self.title];
NSArray *activityItems = @[self.title, printData];
关注@Arkadiusz Holko和@Santa Claus回答添加其他功能。
答案 2 :(得分:1)
如果希望将元素视为URL,则应使用NSURL
对象而不是NSString
。替换:
NSArray *activityItems = @[self.title, urlString];
与
NSArray *activityItems = @[self.title, [NSURL URLWithString:urlString]];
如果您希望Add to Reading List
以外的元素可见,请遵循@Santa Claus的建议。