【问题标题】:iOS 9 UIWebView get html document width and heightiOS 9 UIWebView 获取 html 文档的宽度和高度
【发布时间】:2015-12-15 02:23:22
【问题描述】:

在 iOS8 中,我将 webView 原点大小设置为 (1,1)。我使用 webView.scrollView.contentSize 来获取 html 宽度和高度(html 元宽度=设备宽度),然后适合 webView 大小。它运作良好。 但是在 iOS9 中,我用 xcode 7 重建了应用程序。我得到 webView contentSize 是错误的(宽度小于设备宽度)。那么它是 iOS9 中的 UIWebView 错误吗?

【问题讨论】:

  • "那么它是 iOS9 中的 UIWebView 错误吗?"更有可能是您的代码中的错误。 Web 视图的内容大小来自它所显示的 HTML。你应该没有理由手动弄乱它。
  • 我调整了 webView 框架的大小。不是内容大小。因为我想对 webView 进行快照。
  • 好吧,你没有显示任何代码。所以没有人知道你在做什么。我们怎么知道您甚至等到内容完全加载完毕?
  • 我在下面写代码,javascript会调用doLoad
  • webView可以显示所有的html页面,但是宽度小于设备宽度,高度太高了。

标签: ios uiwebview ios9


【解决方案1】:

代码如下:

定义 ORIGIN_FRAME CGRectMake(0, 0, SCREEN_WIDTH, 1)

  • (UIWebView *)snapshotWebView { 如果(!_snapshotWebView){ _snapshotWebView = [[MTXWebView alloc] initWithManager:self frame:ORIGIN_FRAME]; _snapshotWebView.webViewDelegate = self; } 返回_snapshotWebView; }

  • (void)webview:(MTXWebView *)webView doLoad:(NSDictionary *)数据回调:(WVJBResponseCallback)responseCallback { webView.frame = CGRectMake(0, 0, webView.scrollView.contentSize.width, webView.scrollView.contentSize.height); UIImage *image = [_snapshotWebView renderToImage]; self.completionBlock(图像); self.snapshotWebView.frame = ORIGIN_FRAME; }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-15
    • 1970-01-01
    • 2013-12-26
    • 2017-12-26
    • 1970-01-01
    • 2012-10-10
    • 2021-06-30
    • 1970-01-01
    相关资源
    最近更新 更多