0

UIActivityViewController在通用应用程序中使用了一个实例。它在 iPad 上完美运行。几乎,但不是完全在 iPhone 上。

我使用它来展示它:

    [self presentViewController:self.activityViewController animated:YES completion:nil];

它正确显示可用的活动,如果我选择一个,它就可以工作。然后,我可以再次点击“共享”按钮,并根据自己的喜好重复相同或不同的活动,只要我完成了该活动。

如果我从 中取消UIActivityViewController,一切都很好;但是如果我从邮件或消息中取消,下次我点击共享时,什么也不会发生。如果我不耐烦并再次点击,我会收到以下错误:

“应用程序试图以模态方式呈现活动控制器。”

我曾尝试在第二次呈现控制器之前将其解散,但它认为它是不可解散的。我还尝试从根/导航控制器以及 tableviewcontroller 呈现它,但得到了等效的错误(即应用程序试图呈现根控制器)。

我看到有很多“奇怪”的问题UIActivityViewController,但我看不到任何与我的问题相关的内容。

4

2 回答 2

1

问题是由于我使用的示例代码造成的。我假设正在执行解除代码,但实际上并没有!

我最终实现了 UIPopoverControllerDelegate 并实现了:

- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
{
    [self setPopoverActivity:nil];
}

这解决了它!

于 2014-04-11T14:03:25.593 回答
0

这也发生在我身上,我看到了你的答案,但我不明白,因为“setPopoverActivity”未被识别。所以我开始做一些改变,这解决了只是在动作 void 中初始化“UIActivityViewController”而不是在 viewDidLoad 上,它最初是在哪里。

- (void) flipView {
    self.activityViewController =
    [[UIActivityViewController alloc] initWithActivityItems:self.dataToShare
                                      applicationActivities: nil];
    self.activityViewController.excludedActivityTypes = @[UIActivityTypePrint,UIActivityTypeSaveToCameraRoll,UIActivityTypeAssignToContact, UIActivityTypeAddToReadingList];

    [self presentViewController:self.activityViewController animated:YES completion:nil];

}

希望能帮助到你!

于 2014-04-30T21:05:38.820 回答