2

在我的应用程序中,我使用 UIWebView 作为关于屏幕。我已经使用使背景透明

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

但由于某种原因,UIWebView 中的文本很少(20 个中有 1 个)是不可见的。它仍然存在,因为滚动条是正确的,我也可以从中复制文本,但是您看不到它。如果我禁用透明背景,那很好。

有没有其他人经历过这种行为?

更新:刚刚禁用了透明度。这与它无关。所以实际上我有一个 UIWebView,有时文本是不可见的。

解决方法:我找到了一种解决方法,但我不知道它为什么有效。我在我的应用程序中所做的是在初始化期间预加载所有 UIWebViews,以便稍后当我打开这些视图时,不会有任何延迟。我通过调用 self.view = self.view 强制控制器触发 viewDidLoad。之后,作为我笔尖中的子视图的 UIWebView 被加载,我可以使用预加载 html

[_webView loadHTMLString:html baseURL:url];

那是我将 html 加载到我的 UIWebView 中的原始代码。现在我已经切换到

[_webView loadRequest:urlRequest];

这总是有效的。有时,当我足够快时,我可以看到尚未完全预加载的文本弹出视图。使用 loadHTML 时,有时文本似乎还没有加载,但弹出步骤不会被执行。

因此,似乎使用 loadHTMLString 进行预加载有时会导致文本未加载,而 loadRequest 总是会成功。谁能解释这种行为?我很好奇有什么区别。

4

1 回答 1

0

在您的 HTML 或 CSS 中,您应该明确定义文本的颜色。请参阅下面的示例 HTML 代码。

<html>
<head>
<style css="text/css">
p {color: white}
</style>
</head>
<body style="background-color: transparent;">

<h3>

<p>
 YOUR TEXT WILL GO HERE...
</p> 

</h3>
</body>
</html>
于 2013-03-19T09:14:06.757 回答