【问题标题】:Programmatically resize / adjust dynamic html to fit UIWebView以编程方式调整/调整动态 html 以适应 UIWebView
【发布时间】:2016-12-13 23:42:30
【问题描述】:

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

  1. 将元视口宽度和高度更改为 web 视图的宽度和高度 (https://developers.google.com/webmasters/mobile-sites/mobile-seo/responsive-design && http://webdesignerwall.com/tutorials/viewport-meta-tag-for-non-responsive-design)
  2. 通过脚本标签 (http://codetheory.in/scaling-your-html5-canvas-to-fit-different-viewports-or-resolutions/ , HTML Content fit in UIWebview without zooming out)
  3. Javascript 注入来更新画布和 div 元素。

问题:无论上述 3 项更改一起应用还是组合应用,都无法在 webview 中正确呈现 HTML。元素溢出或缩小,因此显示永远不会“正确”。这让我相信这是完全不可能的,因为

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

我没有发布上面尝试过的方法的实际代码,因为没有一个有效并且我认为它们不会迎合动态 HTML。我处于死胡同,如果有人能证实我的信念并验证它们或指出我的解决方案,我将不胜感激。如果说这样的解决方案在应用程序级别(在 UIWebView 中)是不可能的,那么也许我可以说服 html 提供者提供基于大小的 HTML。任何帮助表示赞赏。

【问题讨论】:

    标签: javascript html ios css uiwebview


    【解决方案1】:
    - (void)webViewDidFinishLoad:(UIWebView *)webView {
            CGRect newBounds = webView.bounds;
            newBounds.size.height = webView.scrollView.contentSize.height;
            webView.bounds = newBounds;
    }
    

    (Nj)

    【讨论】:

    • 不起作用。这会尝试根据内容调整 webview 的大小,而不是相反
    猜你喜欢
    • 2011-08-20
    • 2012-01-08
    • 2023-03-05
    • 2011-05-08
    • 2015-04-28
    • 2014-10-20
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    相关资源
    最近更新 更多