我正在构建一个可以保存电子邮件附件的iPhone应用程序。我希望能够从应用程序内部查看文件。我需要能够查看尽可能多的文件:.txt,.pdf,.png,.jpeg。,。doc,.xls等。
文件将驻留在我的应用程序的文档文件夹中。什么是最好的解决方案?我的第一个想法是将我的文件路径转换为URL并在UIWebView中加载它们,但我不确定这是否是最佳方式,或者它是否将处理所有这些文件类型。有什么想法吗?
答案 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];
}