如何在iPhone应用程序中查看文件?

时间:2011-11-03 15:13:29

标签: iphone ios

我正在构建一个可以保存电子邮件附件的iPhone应用程序。我希望能够从应用程序内部查看文件。我需要能够查看尽可能多的文件:.txt,.pdf,.png,.jpeg。,。doc,.xls等。

文件将驻留在我的应用程序的文档文件夹中。什么是最好的解决方案?我的第一个想法是将我的文件路径转换为URL并在UIWebView中加载它们,但我不确定这是否是最佳方式,或者它是否将处理所有这些文件类型。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

Apple自己的Mail应用程序的方式是使用QuickLook框架。我建议你这样做。 QLPreviewController为您完成所有繁重的工作。您还可以使用UIDocumentInteractionController;这仍然是在幕后使用QuickLook来生成预览。

答案 1 :(得分:2)

UIWebView是显示此类文件的最佳方式。

或者,您可以尝试使用以下代码在其他应用中阅读该文档:

        UIDocumentInteractionController *interactionController = [[UIDocumentInteractionController interactionControllerWithURL:document.documentURL] retain];
        interactionController.delegate = self;
        BOOL canOpenDocument = [interactionController presentOpenInMenuFromRect:CGRectMake(365, 200, 300, 400) inView:self.view animated:YES];

        if(!canOpenDocument) {
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:@"Your phone can't read this kind of file, please install an app from appstore for that" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
            [alert show];
            [alert release];
        }