我正在尝试调出一个UIAlert控制器,您可以在其中选择如何在我的应用程序中导出PDF文档。
该应用程序包含ViewController上的WebView,一个单一的视图应用程序。 问题是,无论何时出现另一个控制器,它都会覆盖webview上的空白屏幕,并且永远不会恢复WebView。这种情况发生在iOS上的每个版本中。
UIAlertController *alertController = [UIAlertController
alertControllerWithTitle:@"Share file" message:@"" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *cancelAction = [UIAlertAction
actionWithTitle:@"Cancel"
style:UIAlertActionStyleCancel
handler:^(UIAlertAction *action)
{}];
UIAlertAction *eMail = [UIAlertAction
actionWithTitle:@"Email"
style:UIAlertActionStyleDefault
handler:^(UIAlertAction *action)
{
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
[picker setSubject:@""];
[picker addAttachmentData:fileData mimeType:@"application/pdf" fileName:fileName];
[picker setToRecipients:[NSArray array]];
[picker setMessageBody:@"" isHTML:NO];
[picker setMailComposeDelegate:self];
[self presentViewController:picker animated:YES completion:nil];
}];
UIAlertAction *docController = [UIAlertAction
actionWithTitle:@"Export"
style:UIAlertActionStyleDefault
handler:^(UIAlertAction *action){
documentController.UTI = @"com.adobe.pdf";
[documentController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES]; }];
[alertController addAction:eMail];
[alertController addAction:docController];
[alertController addAction:cancelAction];
[alertController setModalPresentationStyle:UIModalPresentationCurrentContext];
[self presentViewController:alertController animated:YES completion:nil];
我需要在完成共享文件的操作后,webview将显示在其最后一个状态
答案 0 :(得分:0)
正如@johnnieb所说,我把演示文稿包装在一个调度块中,就像一个魅力!
dispatch_async(dispatch_get_main_queue(),^{
[self presentViewController:alertController animated:YES completion:^{}];
});
谢谢!
这是有效的,因为我们需要等待主队列完全关闭以前的视图控制器。