我遇到的情况是我有使用深色背景的应用程序内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技巧或其他方法强制滚动指示器更轻松的风格?
从iOS 5.0开始,现在可以通过访问"scrollview"属性来自定义Web视图的滚动行为,以实现所需的功能:
webView.scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
如果您确实要扫描子视图并尝试在将来发生更改时优雅地失败,则此当前有效:
//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; } }
虽然事情可能在未来仍有突破,如果setIndicatorStyle:改变预期非枚举值...但我怀疑这会发生.