加载期间在UIWebView上的黑色区域

我注意到,当我在我的UIWebView loadRequest时,我的UITabBar获得深灰色的颜色。

如果我在loadRequest期间滚动我的WebView有一个黑色区域

在这里输入图像说明 在这里输入图像说明

我怎样才能删除这个?

我以前有过这个问题,它与你的UIWebView的内容embedded有关。 这个黑色区域出现在你在滚动视图中设置了底部插入的地方。 我能够通过设置webview的opaque属性来解决这个问题:

 self.opaque = NO; 

为UIWebView设置opaque NO并同时清除背景色:

在这里输入图像说明

您需要设置背景色以清除以及使webView不透明。 这似乎并不工作,如果你也不改变backgroundColor清除。

 self.opaque = NO; self.backgroundColor = [UIColor clearColor]; 

我必须不同意在这里提出的解决scheme。 opaquebackgroudColor默默设置的build议解决scheme隐藏真正的问题。 如果你这样做,那么最前面的UIWebBrowserView将不会覆盖黑色矩形的整个框架,并且将是透明的 – >但以前黑色的区域将保持未使用,您的内容将不会显示在那里

我提取了UIWebBrowserView,并在resize时打印出它的描述,在我看来,它的内容矩形使用四舍五入的值 。 由于视图的边界被定义为CGFloat ,所以在缩放Web浏览器视图窗口(将包装视图的高度/宽度调整为非整数值)时,会出现舍入问题。

我设法通过四舍五入我的UIWebViewsetFrame参数来解决这个问题:

 UIWebView *myWebView; .... [myWebView setFrame:CGRectMake(newX, newY, floor(newWidth), floor(newHeight)];