我有一个应用程序,在其中我有一个加载 HTML 页面的 web 视图。我正在加载的 html 页面包含 5 个页面。实际上,当我滚动 webview 时,我的 webview 的scrollViewDidScroll:
委托方法被调用,我正在检查偏移量以获取 webview 滚动的方向。
当我向右滚动 webview 时,我得到内容偏移量2
,它移动到 html 的下一页。当我再次向右滚动 webview 时,它会显示内容偏移量0
并移至上一页。
当方向是右/左时,我想在 webview 上调用 JavaScript 方法。
这是我的代码:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
NSLog(@"self.webview.scrollView.contentOffset.x:%f",self.webview.scrollView.contentOffset.x);
NSLog(@"%d",lastContentOffset);
NSString *val = @"getPageNo()";
NSString *val1= [webview stringByEvaluatingJavaScriptFromString:val];
int pageno = [val1 intValue];
NSLog(@"%@",val1);
if ( self.webview.scrollView.contentOffset.x==0)
{
//this means webview moves in left direction
NSLog(@"%f",self.webview.scrollView.contentOffset.x);
NSLog(@"%d",lastContentOffset);
NSString *showpageno = [NSString stringWithFormat:@"showPage('%d')",pageno-1];
[webview stringByEvaluatingJavaScriptFromString:showpageno];
}
else if ( self.webview.scrollView.contentOffset.x>0)
{
//this means webview moves in right direction
NSLog(@"%f",self.webview.scrollView.contentOffset.x);
NSLog(@"%d",lastContentOffset);
NSString *showpageno = [NSString stringWithFormat:@"showPage('%d')",pageno+1];
[webview stringByEvaluatingJavaScriptFromString:showpageno];
}
}