从UIWebView中删除渐变背景?

can*_*boy 36 iphone uiwebview ios

如何从UIWebView中删除渐变 - 如果您过度滚动顶部或底部,则会看到该渐变.这段代码

webView.backgroundColor = [UIColor whiteColor];
Run Code Online (Sandbox Code Playgroud)

只是改变渐变的颜色,它不会删除它.如何才能做到这一点?

(注意:与UIWebView底层不同的问题)

MrC*_*nky 82

啊哈,是的术语失败了.我根本不会称那个影子,但是我可以说.这是我的类型安全代码,以实现这种效果.总结一下:这将隐藏滚动视图的任何图像视图子项.它不像(objectAtIndex:0)方法那样容易改变,所以如果Apple重新订购webView控件的子代,它将正常工作,但仍然依赖于渐变效果由滚动的图像视图应用的事实视图(并且确实存在支持Web视图的scrollview).

{
    webView.backgroundColor = [UIColor whiteColor];
    for (UIView* subView in [webView subviews])
    {
        if ([subView isKindOfClass:[UIScrollView class]]) {
            for (UIView* shadowView in [subView subviews])
            {
                if ([shadowView isKindOfClass:[UIImageView class]]) {
                    [shadowView setHidden:YES];
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 你不会称之为影子吗?当然,它是通过绘制渐变来实现的,但目的是使webview看起来漂浮在背景上.所以我仍称它为阴影:-) (3认同)
  • 仍然有效(6.1),但我发现设置backgroundColor是没有必要的.此外,现在我们可以访问webView.scrollView,我们可以重写为:for(UIView*shadowView in [webView.scrollView subviews]){if([shadowView isKindOfClass:[UIImageView class]]){[shadowView setHidden:YES] ; }} (3认同)