我有一个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;
}
}
我在 Google Drive 上上传了一个 XCode 项目示例: 示例代码