文本在UIWebView中不可见

时间:2013-03-19 09:03:31

标签: ios uiwebview

在我的应用程序中,我使用UIWebView进行关于屏幕。我使用

使背景透明
webView.opaque = NO;
webView.backgroundColor = [UIColor clearColor];

但由于某些原因很少(20个中的1个),UIWebView中的文本将是不可见的。它仍然存在,因为滚动条是正确的,我也可以复制文本,但你只是看不到它。如果我禁用透明背景,那就没关系。

有没有其他人遇到这种行为?

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

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

预加载html
[_webView loadHTMLString:html baseURL:url];

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

[_webView loadRequest:urlRequest];

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

因此,使用loadHTMLString进行预加载有时会导致文本无法加载,而loadRequest将始终成功。谁能解释这种行为?我很好奇有什么区别。

1 个答案:

答案 0 :(得分: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>