以编程方式调整/调整动态html以适应UIWebView

时间:2016-08-08 09:03:55

标签: javascript html ios css uiwebview

要求是将HTML适合具有固定大小的UIWebView,即预定义的宽度x高度组合,这些大小可由开发者指定。关于HTML,它包含进一步加载其他具有动态元素的html的脚本,其性质在运行时是未知的,因为动态html基本上是富媒体广告(广告)。我在针对SO发布的类似问题的几百个解决方案中尝试过:

  1. 更改元视口宽度&高度与webview(https://developers.google.com/webmasters/mobile-sites/mobile-seo/responsive-design&& http://webdesignerwall.com/tutorials/viewport-meta-tag-for-non-responsive-design
  2. 的高度相同
  3. 画布和CSS的CSS更新div elements width / max-width&高度/最大高度到webview的高度/最大高度(基于测试,显示这些元素是构成HTML的主要元素)通过脚本标记(http://codetheory.in/scaling-your-html5-canvas-to-fit-different-viewports-or-resolutions/HTML Content fit in UIWebview without zooming out
  4. Javascript注入更新画布& div elements。
  5. 问题:无论上述3个更改是否一起应用,或者组合无法在webview中正确呈现HTML。元素溢出或缩小,因此显示永远不会正确#39;这让我相信这完全不可能,因为

    • HTML元素的布局不能仅根据它们的大小来控制,因为它们一起工作并且不建议错误地改变它们
    • 最初的HTML可以使用除div和canvas之外的元素加载任何其他HTML。等
    • 应用上述方法将导致html被扭曲,因为所有div和canvas'无论宽度和宽度如何,都会以同样的方式对待高度

    我还没有公布上面尝试过的方法的实际代码,因为没有人工作过&我认为他们不会迎合动态HTML。如果有人能够证实我的信念并对其进行验证或指出我的解决方案,那么我将走向死胡同。如果说这样的解决方案在应用程序级别(在UIWebView中)是不可能的,那么也许我可以说服html提供程序提供基于大小的HTML。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

- (void)webViewDidFinishLoad:(UIWebView *)webView {
        CGRect newBounds = webView.bounds;
        newBounds.size.height = webView.scrollView.contentSize.height;
        webView.bounds = newBounds;
}

(新泽西州)