ユーザーが下にスクロールしてUIWebView
から再び上に戻ることができるようにしたいのですが、ページを上から引き戻さないでください (通常、引っ張って更新することに関連するジェスチャー)。背後に何もないときにユーザーがそれを引っ張ってほしくありません。引っ張っても何も起こりません。私を圧倒していると呼んでください;)
スクロールダウンに影響を与えることなく、上に移動してコンテンツの上部にあるときにスクロールを無効にしたり、上部にない場合は元に戻したりできますか?
ユーザーが下にスクロールしてUIWebView
から再び上に戻ることができるようにしたいのですが、ページを上から引き戻さないでください (通常、引っ張って更新することに関連するジェスチャー)。背後に何もないときにユーザーがそれを引っ張ってほしくありません。引っ張っても何も起こりません。私を圧倒していると呼んでください;)
スクロールダウンに影響を与えることなく、上に移動してコンテンツの上部にあるときにスクロールを無効にしたり、上部にない場合は元に戻したりできますか?
使用する必要があります:
webView.scrollView.bounces = NO;
UIWebView は UIScrollViewDelegate に準拠しています。次のようにデリゲート メソッドを実装できます。
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
//The webview is is scrolling
int yPosition = [[_webview stringByEvaluatingJavaScriptFromString: @"scrollY"] intValue];
if([[_webview stringByEvaluatingJavaScriptFromString: @"document.body.offsetHeight"] intValue] - yPosition == _webview.frame.size.height)
{
//The user scrolled to the bottom of the webview
_webview.scrollView.bounces = YES;
}else if([[_webview stringByEvaluatingJavaScriptFromString: @"document.body.offsetHeight"] intValue] - yPosition > _webview.frame.size.height + 100){
_webview.scrollView.bounces = NO;
}
}
XCode プロジェクトのサンプルを Google ドライブにアップロードしました: サンプル コード