2011-09-14 5 views
2

は私のコードは、私がstringByEvaluatingJavaScriptFromString後に何を置くべきUIWebViewのpdfページを移動するには?私はこちらのページで</p> <p>をpdfファイルをスクロールしようとしている

-(void)viewDidLoad{ 

NSString *path = [[NSBundle mainBundle] pathForResource:@"myPdffile" ofType:@"pdf"]; 

NSURL *url = [NSURL fileURLWithPath:path]; 

NSURLRequest *urlrequest = [NSURLRequest requestWithURL:url]; 

[webview loadRequest:urlrequest]; 

webview.scalesPageToFit = YES; 

[super viewDidLoad]; 

} 

//goto next page 

-(IBAction)nextpage{ 

     [webview stringByEvaluatingJavaScriptFromString: ?????? ]; 
} 

//goto previous page 

-(IBAction)prevpage { 

     ????? 
} 

のですか?

"prevpage"に同じコードを挿入しますか?

ありがとうございました!

+0

[iPhone UIWebView PDF Page Jump](http://stackoverflow.com/questions/1974304/iphone-uiwebview-pdf-page-jump) – bummi

答えて

3

でiOSの5あなたは、yは、あなたがしようとしている高さであるこの文

[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.scrollTo(0.0, %f)", y]]; 

を使用することができますiOSの5

[[webView scrollView] setContentOffset:CGPointMake(0,y) animated:YES]; 

をジャンプページについて、以下に、この文を使用することができますジャンプする。ここで

私は前のページの次および前のページ

-(IBAction) nextPage: (id) sender 
{ 
    if (currentPage < numberOfPages) 
    { 
     float y = pageHeight * currentPage++; 

     if (isIOSAbove4) 
     { 
      [[webView scrollView] setContentOffset:CGPointMake(0,y) animated:YES]; 
     } 
     else 
     { 
      [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.scrollTo(0.0, %f)", y]]; 
     } 
    } 
} 

のためのいくつかのサンプルコードを書いています:

-(IBAction) prevPage: (id) sender 
{ 
    if (currentPage - 1) 
    { 
     float y = --currentPage * pageHeight - pageHeight; 
     if (isIOSAbove4) 
     { 
      [[webView scrollView] setContentOffset:CGPointMake(0,y) animated:YES]; 
     } 
     else 
     { 
      [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.scrollTo(0.0, %f)", y]]; 
     } 
    } 
} 

を上記のサンプルコードでisIOSAbove4は、PCHファイルに定義されている

#define isIOSAbove4 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 5.0) 

上記のコードがあなたの問題を解決しますように。

+0

pageHeightの定数があるとします。私は、一定のPDFRectに関連してpageHeightが変化し、より長いドキュメントで悪化するページ位置計算を引き起こすことを発見しました。また、このソリューションは、ドキュメント内のページがすべて同じ向きであることを前提としています。 –

+0

注:これは、viewWillAppearの後に呼び出される必要があります。 viewDidAppearがトリックを行います。 – iosMentalist

0

私はページ= 6?他のWebブラウザ/ PDFビューアであなたにクエリ文字列パラメータを使用することができ、これを行う方法があると信じていけないが、それdoesntのは、WebKitのPDFエンジンでサポートされているように見える

+0

私はまったく同じ問題を抱えています。ページがHTMLとしてレンダリングされないので、JSクエリを実行しても機能しません。 –

0

私は同様の問題を抱えていました。この問題では、tableView(サムネイルテーブルビュー)内のセルの選択にPDFの特定のページ(UIWebViewを使用して表示されます)に移動しなければなりませんでした。

私はPDFの特定のページにスクロールできるコードを書いています。これは、PDFがズームされた状態であっても機能します。コードhereがあります。

+0

@NaveenRaghuveerに感謝します。 – Roger

関連する問題