【发布时间】:2013-01-17 12:02:54
【问题描述】:
我有以下代码,它将应用程序文档中的 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 确实有相应的委托设置。
【问题讨论】:
-
[webView setScalesPageToFit:NO] 不够好?
-
@Till Nope,它会禁用滚动并加载 pdf 以适应页面。
标签: ios objective-c xcode uiwebview