你能告诉UIWebView使用白色指示器样式吗?

Bra*_*son 8 iphone cocoa-touch

我遇到的情况是我有使用深色背景的应用程序内HTML文档,但UIWebView的默认滚动指示器在该背景中丢失.以下是此示例:

UIWebView黑色卷轴的图片http://www.sunsetlakesoftware.com/sites/default/files/so-webview.jpg

使用UIScrollView,UIWebView的行为类似,您可以将indicatorStyle属性设置为UIScrollViewIndicatorStyleWhite,从而产生所需的行为:

alt text http://www.sunsetlakesoftware.com/sites/default/files/so-scrollview.jpg

我似乎无法在UIWebView的公开界面中找到类似的属性.是否有CSS技巧或其他方法强制滚动指示器更轻松的风格?

Aze*_*ikh 13

从iOS 5.0开始,现在可以通过访问"scrollview"属性来自定义Web视图的滚动行为,以实现所需的功能:

webView.scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
Run Code Online (Sandbox Code Playgroud)


Bra*_*don 6

如果您确实要扫描子视图并尝试在将来发生更改时优雅地失败,则此当前有效:

    //set a white scroll bar
    for (UIView *subview in [webView subviews]) {
        if ([subview isKindOfClass:NSClassFromString(@"UIScroller")] || [subview isKindOfClass:NSClassFromString(@"UIScrollView")]) {
            if ([subview respondsToSelector:@selector(setIndicatorStyle:)]) {
                [(UIScrollView *)subview setIndicatorStyle:UIScrollViewIndicatorStyleWhite];
            }
            break;
        }
    }
Run Code Online (Sandbox Code Playgroud)

虽然事情可能在未来仍有突破,如果setIndicatorStyle:改变预期非枚举值...但我怀疑这会发生.