在开始时添加滚动条,而不是在第一次触摸后添加滚动条



我正在显示一个webView,只有在触摸它并向下滚动页面后,scroll bar才会出现。

如何在开始时自动设置webView设置scroll bar以便显示,是否可以在objective c而不是HTML代码中控制他的颜色?

要显示指标,您可以使用以下技巧:

  1. 实现webViewDidFinishLoad并使用此方法flashScrollIndicators

    -(void)webViewDidFinishLoad:(UIWebView *)webView {
        [webView.scrollView flashScrollIndicators];
    }
    
  2. 使用此类别显示指示器:

    #define noDisableVerticalScrollTag 836913
    @implementation UIImageView (ForScrollView)
    - (void) setAlpha:(float)alpha {
    if (self.superview.tag == noDisableVerticalScrollTag) {
        if (alpha == 0 && self.autoresizingMask == UIViewAutoresizingFlexibleLeftMargin) {
            if (self.frame.size.width < 10 && self.frame.size.height > self.frame.size.width) {
                UIScrollView *sc = (UIScrollView*)self.superview;
                if (sc.frame.size.height < sc.contentSize.height) {
                    return;
                }
            }
        }
        if (alpha == 0 && self.autoresizingMask == UIViewAutoresizingFlexibleTopMargin) {
            if (self.frame.size.height < 10 && self.frame.size.height < self.frame.size.width) {
                UIScrollView *sc = (UIScrollView*)self.superview;
                if (sc.frame.size.width < sc.contentSize.width) {
                    return;
                }
            }
        }
    }
    [super setAlpha:alpha];
    }
    @end
    
  3. 然后,像这样为您的UIWebView提供标签:

    [webViews.scrollView setTag:noDisableVerticalScrollTag];
    

就是这样,页面加载完成后,指示器将保留在屏幕中。

对于颜色问题,你的意思是改变指标颜色吗?

最新更新