2

这个问题最好用一三个截图来解释!

不知何故,我有一个 UIWebView 没有完全呈现其内容......或者是吗?我当然可以点击并选择 webView 中的文本,即使我看不到它!这里发生了什么?

带有不可见文本的 WebView

需要明确的是,这仅在我在 webView 中显示内容时才会发生。它是随机的,不容易重现。

我有一个 UIPageViewController,每个“页面”视图控制器都有一个 UIWebView。为了填充内容,我注入了 HTML,当 webViewDidFinishLoading: 返回时,我运行了一个 JS 函数,该函数进行了一些修改并完成了填充。(为了跨平台能力,在 JS 中进行了修改。)

它的设置方式是,您可以点击 HTML 中的链接,然后在 PageViewController 中创建一个新页面,然后对其进行动画处理,并将新内容加载到这个新页面中。想想“字典应用程序”。

但正如我所说,我随机得到这种现象,内容肯定在那里并且可以触摸,但不可见。

以下是一些更具启发性的屏幕截图:

揭示第一眼

揭示爆炸

你可以看到 UIWebView,扁平化,看起来和 iPad 设备屏幕截图一样。但是,如果我进入树并分解 UIWebBrowserView(UIWebView 中的 UIScrollView 的内容视图),您可以看到整个 HTML 页面!

我对绘图视图的内部工作原理不够熟悉,无法隔离并解决此问题,因此我将不胜感激。

PS 一个可能相关的事情是我调用setViewControllers:animated:了我的 UIPageViewController,它创建了新的 UIWebView 并启动了加载过程,然后在该调用的块中,我再次completion:调用它但没有动画,以欺骗 UIPageViewController 使其“丢失”并在用户下次尝试平移时强制它重新查询数据源。有关详细信息,请参阅此帖子。无论如何,可能不相关,但不得不提及它。

4

1 回答 1

1

你需要两件事:

  • 有正确的布局,(自 iOS 6.0 以来的自动布局)
  • 需要将 UIWebView 放在滚动视图上,然后在 webview 委托中设置滚动视图大小(在 HTML 渲染完成后)
于 2013-08-03T08:33:17.140 回答