0

我的应用程序上有一个名为“下载说明 pdf”的 html 链接

当我单击此按钮时,我想将 pdf(存储在应用程序中)下载到本地 iPad / iPhone,然后使用 iBook 打开它。

很多类似的问题都提到了 WebView 并使用了 ViewController,但是我已经完成了大部分应用程序,当我使用 webview 时,它会打开一个空白页面并且应用程序无法运行。

这是我的第一个 iOS 应用程序,我之前没有使用过 Objective C,所以在使用 ViewController 时会感到困惑。

这是我到目前为止的代码:

<a href="howtouse.pdf">download instructions pdf</a>

这会打开 pdf,但会以全屏方式打开,从而删除任何导航。因此,如果用户想要访问应用程序的另一部分,他们必须重新打开对用户不友好的应用程序!

我正在使用 xcode 4.6.3 iPad/iPhone 模拟器 6.1

我被困了几个小时,任何帮助都会很棒,谢谢!

4

2 回答 2

2

对于下载部分,请查看一些NSURLConnection示例

将 PDF 下载到 NSData 后,将其写入我可以通过以下方式找到的 Documents 路径:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *pdfPath = [documentsDirectory stringByAppendingPathComponent:@"yourFilename"];

要打开它,请以这种方式尝试 UIDocumentInteractionController

于 2013-07-04T13:57:44.620 回答
1

我创建了一个使用 UIDocumentInteractionController 的示例。我上传到 Github,你可以在这里下载:

https://github.com/cjimenezpacho/openpdfibooks

基本上是 IBAction 中的这段代码和所需的委托方法(非常类似于链接 sp4rkbr):

NSURL *url = [[NSBundle mainBundle]
URLForResource: @"iPhoneintro" withExtension:@"pdf"];
self.docController = [UIDocumentInteractionController interactionControllerWithURL:url];
self.docController.delegate = self;
[self.docController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES];

苹果文档链接:

类: https ://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDocumentInteractionController_class/Reference/Reference.html

于 2014-01-15T07:46:43.897 回答