在UIWebView中可以看到滚动条的检测

时间:2010-10-28 17:56:24

标签: javascript iphone cocoa-touch uiwebview mobile-safari

我需要检测滚动条是否在UIWebView中可见,我该怎么做?我的第一次尝试是:

int scrollHeight = [[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.scrollHeight"] intValue];
if(scrollHeight > [webView frame].size.height)
    NSLog(@"Scrollbar is visible");

但是scrollHeight总是比webView高度大。

2 个答案:

答案 0 :(得分:1)

另一种可能的解决方案是子类化UIWebView并实现以下内容:

-(void) scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    scrollView.bounces = NO;
}

“阴影”将不再可见,因为不再可能弹跳......

答案 1 :(得分:0)

尝试以下操作(无私有API):

for (id subView in [webView subviews]) {
    if ([subView respondsToSelector:@selector(flashScrollIndicators)]) {
        [subView flashScrollIndicators];
    }
}

这不会假设有关内部UIWebView层次结构的任何内容,但只要碰巧有一个响应flashScrollIndicators的子视图,它们就会闪烁。 ;)