当我在我的项目中整合 Instagram 时。我从image
获得了UIImagePickerController
,之后我想将其发送到 Instagram 但是当我将image
发送到 Instagram UIDocumentInteractionController
委托方法presentOptionsMenuFromRect:inView: animated:
就像这样
[documentInteractionController presentOptionsMenuFromRect:CGRectZero inView:self.view animated:YES];
警告来自警告:尝试呈现< _UIDocumentActivityViewController:0x7584780>在演示文稿正在进行时!
该应用程序不是崩溃。但我没有得到问题。为什么会出现此警告及其含义。我在互联网上搜索并阅读有关此问题,但没有得到任何答案。帮帮我!!
答案 0 :(得分:127)
// Breaks
[viewController1 dismissViewControllerAnimated:YES completion:NULL];
[self presentViewController:viewController2 animated:YES completion:NULL];
// Does not break
[viewController1 dismissViewControllerAnimated:YES completion:^{
[self presentViewController:viewController2 animated:YES completion:NULL];
}];
上面代码的Swift 3版本如下所示:
// Breaks
viewController1.dismiss(animated: true)
present(viewController2, animated: true)
// Does not break
viewController1.dismiss(animated: true) {
present(viewController2, animated: true)
}
请注意上面第二个例子中使用完成处理程序
它仅在viewController2
被完全解散后才显示viewController1
。
答案 1 :(得分:3)
这意味着您正在展示或解雇UIImagePickerController
并尝试展示UIDocumentInteractionController
,而首次展示或解雇尚未完成。
答案 2 :(得分:2)
对于那些需要/想要swift 3版本的人来说,这里是
viewController1.dismiss(animated: true, completion: {
self.present(self.viewController1, animated: true)
})
viewController1是您要呈现的视图控件。
答案 3 :(得分:1)
这意味着您同时展示了2个ViewControllers。第一次演示完成后,请致电您的代表。
答案 4 :(得分:1)
如果你有一个连接到IBAction的UIButton来呈现一个ViewController,并且在Storyboard中从按钮到目标ViewController创建一个segue,也会发生这种情况。
当我在移动一些交互时忘记删除UIButton的IBAction连接时,会发生这种情况。
删除IBAction连接或segue将解决它。
答案 5 :(得分:1)
如前所述,这意味着您正在尝试同时呈现2个模态窗口或弹出窗口。但在我的情况下,当我收到此消息时,我还没有看到任何模态窗口或弹出窗口。
我的案例中出现错误的原因如下。当我第一次打电话给popover时,这是另一个错误,它阻止popover显示但它仍然处于“呈现”状态。以下所有显示popover的尝试都失败,并且“在演示文稿正在进行中时出现运行时错误!”。
因此,如果您遇到相同的情况,请查看日志并尝试查找以*** WebKit discarded an uncaught exception in the...
开头的第一个错误。
希望它可以节省一些人的时间。
答案 6 :(得分:1)
我收到此消息是因为我复制粘贴已经发送了附加事件的按钮,并且我继续创建另一个连接,因为新按钮应该打开新视图。
所以从技术上讲,我试图同时打开2个视图。
答案 7 :(得分:1)
尝试..
double delayInSeconds = 1.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[self performSegueWithIdentifier:@"Identifier" sender:self];
});