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];
}
}