如何尽可能无缝地重新加载UIWebView

时间:2013-08-21 17:57:41

标签: ios objective-c url uiwebview reload

我正在使用UIWebView呈现本地html内容(使用javascript的特殊html内容)。 html内容需要经常逐步更新,但每次发生这种情况并重新加载Web视图时,它都会刷新一些“跳舞”,这非常令人分心,特别是因为更新非常小并经常发生。如果我可以冻结显示,在幕后重新加载页面,然后重新绘制显示,我相信它看起来会很好。但是,我可以这样做吗?或者有没有其他方法可以无缝刷新html页面(或只是页面的某些内容)?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

你可以:

  1. 获取UIWebView的“屏幕截图”,(请参阅How to capture current view screenshot and reuse in code? (iPhone SDK));
  2. UIImageView上方的UIWebView上显示
  3. 重新加载UIWebView;
  4. UIWebView完成重新加载后,从视图层次结构中删除UIImageView
  5. 我怀疑有一种方法可以告诉UIWebView在重新加载时“冻结”显示,因为Webkit渲染会向用户提供有关页面加载状态的反馈。

    另一种解决方案是使用javascript更新DOM(可能是XHR),无需在UIWebView重新加载整个页面。