2

ここに画像の説明を入力してください

アプリケーションの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];

このコードでは、「path」はコンソールにチェックインするとNill値を返しますが、希望のpdfドキュメント名を格納する文字列「chapter」をチェックすると、常にpdfドキュメント名の1つになります。コンソールでプログラムがクラッシュした場合このようなものを示しています。

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

どんな助けでも適用されます。

4

2 に答える 2

3

プロジェクトで PDF ファイルをチェックアウトしていますか?

ここに画像の説明を入力

次のコードをテストします。問題なし。

プロジェクトの chapter.pdf ファイルを確認してください。ポイントは相対パスです。

大文字と小文字を区別する必要があります。"Chapter" / "chapter" が equalString ではありません。

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];

ここに画像の説明を入力

于 2012-08-04T11:31:58.123 に答える
0

UIWebView の scrollView は、Apple のドキュメントによると読み取り専用のプロパティです: Web ビューに関連付けられたスクロール ビュー。(読み取り専用)。しかし、そうではなかった UIScrollView のように扱いました。それがエラーメッセージでした。

于 2012-08-04T16:19:51.880 に答える