1

我有一个 UIActivityViewController 不会关闭 iPad 上的邮件对话框。该代码是来自 Apple 示例的标准代码,并且在 iPhone 上运行良好。

   NSString* someText = [NSString stringWithFormat:@"%@ Is really cool, sent from Element Story. en.wikipedia.info/wiki/%@",
                          [_detailItem description], [_detailItem description]];

   ActivityViewCustomProvider *customProvider =
    [[ActivityViewCustomProvider alloc]init];

    NSArray *items = [NSArray arrayWithObjects:customProvider,imageView.image,someText, nil];

    //ActivityViewCustomActivity *ca = [[ActivityViewCustomActivity alloc]init];


    // ...or whatever pieces of data you want to share.
    UIActivityViewController *activityVC =
    [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:nil];
                                      //applicationActivities:[NSArray arrayWithObject:ca]];

activityVC.excludedActivityTypes = @[UIActivityTypeAssignToContact, UIActivityTypePrint, UIActivityTypeCopyToPasteboard];
    [self presentViewController:activityVC animated:YES completion:^{}];
4

1 回答 1

3

我假设您正在从 splitviewcontroller 显示此内容,这也是我遇到的问题。本质上,您需要从主视图中呈现 UIActivityViewController。

所以而不是

[self presentViewController:activityVC animated:YES completion:nil];

就像是:

[[[self parentViewController] parentViewController] presentViewController:activityVC animated:YES completion:nil];

不幸的是,它看起来不太好,因为它会在整个视图中显示选项,而不仅仅是在导航端或细节端的上下文中,但它会起作用。

于 2013-01-16T17:29:30.560 回答