3

我在 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 中的上述代码给了我以下输出:

ios 分享 facebook twitter uoactivityviewcontroller

早些时候,共享表中没有 Facebook 和 Twitter,但我在“设置”中同时登录了这两个应用程序,Facebook 和 Twitter 开始出现。

问题:在这条线上,只有复制和其他像书签、添加到阅读列表、添加到主屏幕、打印和 AirDrop 按钮没有显示。我能做些什么来带这些?谢谢!

更新:我已经使用下面的一个答案添加了打印按钮,我该如何添加其余的?

4

3 回答 3

4

书签、添加到阅读列表和添加到主屏幕仅在 safari 中可用,除非您自己定义它们。要添加这些按钮,您需要为各种服务创建一个applicationActivities NSArray填充UIActivity对象。您可以将此数组传递给initWithActivityItems:applicationActivities: UIActivityViewController方法(您为此参数传递了 nil)。

于 2013-10-12T14:22:36.703 回答
3

您应该使用 UISimpleTextPrintFormatter 来显示 PRINT:

UISimpleTextPrintFormatter *printData = [[UISimpleTextPrintFormatter alloc]
                                             initWithText:self.title];
NSArray *activityItems = @[self.title, printData];

按照@Arkadiusz Holko 和@Santa Claus 的回答添加另一个功能。

于 2013-10-12T14:38:22.873 回答
1

当您希望将元素视为 URL 时,您应该使用NSURLobject 而不是。NSString代替:

NSArray *activityItems = @[self.title, urlString];

NSArray *activityItems = @[self.title, [NSURL URLWithString:urlString]];

Add to Reading List如果您希望其他元素不可见,请遵循@Santa Claus 的建议。

于 2013-10-12T14:21:38.807 回答