UIWebView ScrollView内容半绘制

时间:2013-07-03 02:49:13

标签: ios uiview uiwebview load draw

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

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

WebView With Invisible Text

要清楚,当我在webView中显示内容时,这只会发生有时。它是随机的,不易重现。

我有一个UIPageViewController,每个“page”viewController都有一个UIWebView。为了填充内容我注入HTML,当webViewDidFinishLoading:返回时,我运行一个JS函数,它执行一些修改并完成填充。 (在JS中完成Mangling的跨平台能力。)

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

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

以下是一些revealing屏幕截图:

Reveal First Look

Reveal Explosion

你可以看到,展平的UIWebView看起来与iPad设备截图相同。但是如果我进入树并爆炸UIWebBrowserView(UIWebView中的UIScrollView的内容视图),你可以看到整个HTML页面!

我对绘制视图的内部工作方式不够熟悉,无法解决这个问题并解决它,所以我将不胜感激。

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

1 个答案:

答案 0 :(得分:1)

你需要两件事:

  • 具有正确的布局(自iOS 6.0起自动输出)
  • 需要将UIWebView放在scrollview上,而不是在webview委托中设置scrollview大小(在HTML渲染完成后)