在我的应用程序中,我使用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将始终成功。谁能解释这种行为?我很好奇有什么区别。
答案 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>