【发布时间】:2013-05-29 08:43:17
【问题描述】:
我有一个应用程序,其中有一个加载 HTML 页面的 web 视图。我正在加载的 html 页面包含 5 个页面。实际上,当我滚动 webview 时,我的 webview 的 scrollViewDidScroll: 委托方法被调用,我正在检查偏移量以获取 webview 滚动的方向。
当我向右滚动 web 视图时,我得到的内容偏移量为 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];
}
}
【问题讨论】:
标签: iphone objective-c webview