アプリのドキュメントから .pdf に .pdf をロードする次のコードがありますUIWebView
。
-(IBAction)viewMyPdf:(id)sender {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *path = [documentsPath stringByAppendingPathComponent:@"myfilename.pdf"];
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
[webView setScalesPageToFit:YES];
[self performSelector:@selector(theTest) withObject:nil afterDelay:2.0];
}
-(void)theTest {
NSLog(@"Hello");
[webView.scrollView setZoomScale:5.0 animated:NO];
webView.scrollView.contentOffset = CGPointMake(480, 360);
}
ご覧のとおり、最後に、theTest
ズームインして適切な位置を設定するように呼び出しています (ページに合わせた pdf から始めたくないため)。これには 0.2 の遅延がありますが、これは望ましくありません。時間の遅延が変化する可能性があり、ズーム効果が発生しない可能性があるため (読み込みに 0.2 秒以上かかる場合)、または非常にバグが多くてビクビクしているように感じられる (読み込みが0.2 遅延)。
PDF にロードされた後、PDF をズームインして配置する堅牢な方法はありUIWebView
ますか?
編集: -(void)webViewDidFinishLoad:(UIWebView *)webView {
どちらも役に立たないようです。NSLog を出力しますが、ズームは機能しません。Webview には、それに応じてデリゲートが設定されています。