我正在尝试逐页滚动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 {
?????
}
我应该在stringByEvaluatingJavaScriptFromString
之后放什么?
我在“prevpage”中输入相同的代码吗?
谢谢!
答案 0 :(得分:3)
在iOS 5中,您可以将此语句用于页面跳转
[[webView scrollView] setContentOffset:CGPointMake(0,y) animated:YES];
在iOS 5下面你可以使用这个声明
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.scrollTo(0.0, %f)", y]];
y是你要跳的高度。
这里我正在为下一页和上一页编写一些示例代码
-(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]];
}
}
}
在上面的示例代码中,isioAbove4在pch文件中定义
#define isIOSAbove4 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 5.0)
希望上面的代码能解决你的问题
答案 1 :(得分:0)
我不相信有办法做到这一点,在其他网页浏览器/ PDF查看器中你可以使用querystring参数?page = 6但是这似乎不受WebKit PDF引擎的支持
答案 2 :(得分:0)
我遇到了类似的问题,我必须在tableView(缩略图tableview)中选择单元格时导航到PDF中的特定页面(使用UIWebView显示)。
所以我编写了一段代码,允许您滚动到PDF中的特定页面。即使PDF处于缩放状态,这也有效。您可以找到代码here。