iOS - 加载后在webview中放大pdf

时间:2013-01-17 12:02:55

标签: ios objective-c xcode uiwebview

我有以下代码,它将应用文档中的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格式加载到UIWebView后,是否有一种强大的放大和定位方法?

编辑: -(void)webViewDidFinishLoad:(UIWebView *)webView {似乎也无济于事。它打印NSLog但缩放不起作用。 webview确实相应地设置了委托。

1 个答案:

答案 0 :(得分:0)

为什么不尝试QuickLook框架,如果我理解的话,你的问题可以完全符合你的要求。见tutorial