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