我在我的应用程序中的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'
任何帮助都将被适用。
答案 0 :(得分:3)
您是否在项目中查看了pdf文件?
我测试了以下代码。没问题。
请检查项目中的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"]]]];
在您的项目中,文件夹名称将在实际的iPhone套装中消失。 您已经创建了一个名为Resource-Common的文件夹,但最终会在NSBundle中消失。
见下图。两者都是整合的。项目中的文件夹名称只是xcode中的可见文件夹。
如果您想要NSBundle中的所有pdf文件列表。尝试遵循代码。
NSArray *pdfCollection = [[NSBundle mainBundle] pathsForResourcesOfType:@"pdf" inDirectory:nil];
答案 1 :(得分:0)
根据Apple的doc,UIWebView的scrollView是一个只读属性:与Web视图关联的滚动视图。 (只读)。但是你把它当作UIScrollView那样对待它。那是错误信息。