如何阅读webview中Resource文件夹子文件夹中的PDF文件?

时间:2012-08-04 11:10:26

标签: iphone ios xcode pdf webview

enter image description here

我在我的应用程序中的Resourse文件夹的子文件夹中有一些PDF格式文档。我试着像这样阅读这些文档。这是我的代码。

   NSString *path = [[NSBundle mainBundle] pathForResource:chapter ofType:@"pdf"];
   NSURL *targetURL = [NSURL fileURLWithPath:path];
   NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
   [[webView scrollView] setContentOffset:CGPointMake(0,500) animated:YES];
   [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.scrollTo(0.0, 50.0)"]];
   [webView loadRequest:request];
   [self.view addSubview:webView];
   [webView release];

在这段代码中“路径”返回Nill值,当我检入console时。但是当我检查字符串“chapter”存储我的欲望pdf文档名称时,总是它有一个pdf文档名称。在我的控制台时程序崩溃它显示了这样的事情。

    Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 
'-[UIWebView scrollView]: unrecognized selector sent to instance 0x6587d20'

任何帮助都将被适用。

2 个答案:

答案 0 :(得分:3)

您是否在项目中查看了pdf文件?

enter image description here

我测试了以下代码。没问题。

请检查项目中的chapter.pdf文件。关键是相对路径。

必须区分大小写。 “章节”/“章节”不等于字符串。

NSLog(@"path:%@",[[NSBundle mainBundle] pathForResource:@"chapter" ofType:@"pdf"]);


console:
    /var/mobile/Applications/72AFA069-D83E-469A-A687-AEAFDB0B4D97/TableViewTest.app/chapter.pdf

NSLog(@"path:%@",[[NSBundle mainBundle] pathForResource:@"Chapter" ofType:@"pdf"]);


console:
    (null)

self.myWebView = [[[UIWebView alloc] initWithFrame:webFrame] autorelease];
self.myWebView.backgroundColor = [UIColor whiteColor];
self.myWebView.scalesPageToFit = YES;
self.myWebView.delegate = self;
[self.view addSubview:self.myWebView];
[self.myWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"chapter" ofType:@"pdf"]]]];

enter image description here


在您的项目中,文件夹名称将在实际的iPhone套装中消失。 您已经创建了一个名为Resource-Common的文件夹,但最终会在NSBundle中消失。

enter image description here

见下图。两者都是整合的。项目中的文件夹名称只是xcode中的可见文件夹。

enter image description here

如果您想要NSBundle中的所有pdf文件列表。尝试遵循代码。

NSArray *pdfCollection = [[NSBundle mainBundle] pathsForResourcesOfType:@"pdf" inDirectory:nil];

enter image description here

答案 1 :(得分:0)

根据Apple的doc,UIWebView的scrollView是一个只读属性:与Web视图关联的滚动视图。 (只读)。但是你把它当作UIScrollView那样对待它。那是错误信息。